AccompanyingPeriod/Origin: set label as json

This commit is contained in:
Julien Fastré 2021-04-19 13:24:15 +02:00
parent b490f4a82c
commit 51e9b1fcf2
2 changed files with 37 additions and 1 deletions

View File

@ -39,7 +39,7 @@ class Origin
private $id;
/**
* @ORM\Column(type="string", length=255)
* @ORM\Column(type="json")
*/
private $label;

View File

@ -0,0 +1,36 @@
<?php
declare(strict_types=1);
namespace Chill\Migrations\Person;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* set label for origin as json
*/
final class Version20210419105940 extends AbstractMigration
{
public function getDescription() : string
{
return 'set label for origin as json';
}
public function up(Schema $schema) : void
{
$this->addSql('ALTER TABLE chill_person_accompanying_period_origin '
. 'ALTER label TYPE JSON USING json_build_object(\'fr\', label)::jsonb');
$this->addSql('ALTER TABLE chill_person_accompanying_period_origin '
. 'ALTER label DROP DEFAULT');
}
public function down(Schema $schema) : void
{
// this will keep the '"' at first and last character, but is acceptable
$this->addSql('ALTER TABLE chill_person_accompanying_period_origin '
. 'ALTER label TYPE VARCHAR(255) USING label->\'fr\'::text');
$this->addSql('ALTER TABLE chill_person_accompanying_period_origin '
. 'ALTER label DROP DEFAULT');
}
}