feat: add jCard column to entity

This commit is contained in:
Maël Gangloff
2024-07-12 15:38:24 +02:00
parent 48972e5297
commit ddd18bfe49
3 changed files with 58 additions and 2 deletions

View File

@@ -0,0 +1,35 @@
<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20240712133612 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE entity ADD COLUMN j_card CLOB NOT NULL');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE TEMPORARY TABLE __temp__entity AS SELECT handle FROM entity');
$this->addSql('DROP TABLE entity');
$this->addSql('CREATE TABLE entity (handle VARCHAR(255) NOT NULL, PRIMARY KEY(handle))');
$this->addSql('INSERT INTO entity (handle) SELECT handle FROM __temp__entity');
$this->addSql('DROP TABLE __temp__entity');
}
}

View File

@@ -85,7 +85,9 @@ class TestController extends AbstractController
]);
if ($entity === null) $entity = new Entity();
$entity->setHandle($rdapEntity['handle']);
$entity
->setHandle($rdapEntity['handle'])
->setJCard($rdapEntity['vcardArray']);
foreach ($rdapEntity['events'] as $rdapEntityEvent) {
@@ -142,7 +144,9 @@ class TestController extends AbstractController
]);
if ($entity === null) $entity = new Entity();
$entity->setHandle($rdapEntity['handle']);
$entity
->setHandle($rdapEntity['handle'])
->setJCard($rdapEntity['vcardArray']);
foreach ($rdapEntity['events'] as $rdapEntityEvent) {
@@ -158,6 +162,8 @@ class TestController extends AbstractController
->setEntity($entity)
->setAction(EventAction::from($rdapEntityEvent['eventAction']))
->setDate(new DateTimeImmutable($rdapEntityEvent['eventDate'])));
$em->persist($entity);
$em->flush();
}

View File

@@ -32,6 +32,9 @@ class Entity
#[ORM\OneToMany(targetEntity: EntityEvent::class, mappedBy: 'entity', cascade: ['persist'], orphanRemoval: true)]
private Collection $events;
#[ORM\Column]
private array $jCard = [];
public function __construct()
{
$this->domainEntities = new ArrayCollection();
@@ -141,4 +144,16 @@ class Entity
return $this;
}
public function getJCard(): array
{
return $this->jCard;
}
public function setJCard(array $jCard): static
{
$this->jCard = $jCard;
return $this;
}
}