migrations/Version20210422112245.php line 1

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace DoctrineMigrations;
  3. use Doctrine\DBAL\Schema\Schema;
  4. use Doctrine\Migrations\AbstractMigration;
  5. final class Version20210422112245 extends AbstractMigration
  6. {
  7.     public function getDescription(): string
  8.     {
  9.         return 'Time normalization month and year';
  10.     }
  11.     public function up(Schema $schema): void
  12.     {
  13.         $this->addSql('CREATE TABLE time_norm_month (
  14.             id UUID NOT NULL, year_id INT DEFAULT NULL, 
  15.             number INT DEFAULT 0 NOT NULL, 
  16.             title VARCHAR(255) NOT NULL, 
  17.         PRIMARY KEY(id))');
  18.         $this->addSql('CREATE INDEX IDX_96BCD8DC40C1FEA7 ON time_norm_month (year_id)');
  19.         $this->addSql('COMMENT ON COLUMN time_norm_month.id IS \'(DC2Type:uuid)\'');
  20.         $this->addSql('CREATE TABLE time_norm_month_part (
  21.             id UUID NOT NULL, 
  22.             month_id UUID DEFAULT NULL, 
  23.             first BOOLEAN DEFAULT \'true\' NOT NULL, 
  24.             period_date_start DATE NOT NULL, 
  25.             period_date_end DATE NOT NULL, 
  26.         PRIMARY KEY(id))');
  27.         $this->addSql('CREATE INDEX IDX_5090291BA0CBDE4 ON time_norm_month_part (month_id)');
  28.         $this->addSql('COMMENT ON COLUMN time_norm_month_part.id IS \'(DC2Type:uuid)\'');
  29.         $this->addSql('COMMENT ON COLUMN time_norm_month_part.month_id IS \'(DC2Type:uuid)\'');
  30.         $this->addSql('COMMENT ON COLUMN time_norm_month_part.period_date_start IS \'(DC2Type:date_immutable)\'');
  31.         $this->addSql('COMMENT ON COLUMN time_norm_month_part.period_date_end IS \'(DC2Type:date_immutable)\'');
  32.         $this->addSql('CREATE TABLE time_norm_year (year INT NOT NULL, PRIMARY KEY(year))');
  33.         $this->addSql('ALTER TABLE time_norm_month ADD CONSTRAINT FK_96BCD8DC40C1FEA7 FOREIGN KEY (year_id) REFERENCES time_norm_year (year) NOT DEFERRABLE INITIALLY IMMEDIATE');
  34.         $this->addSql('ALTER TABLE time_norm_month_part ADD CONSTRAINT FK_5090291BA0CBDE4 FOREIGN KEY (month_id) REFERENCES time_norm_month (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  35.     }
  36.     public function down(Schema $schema): void
  37.     {
  38.         $this->addSql('ALTER TABLE time_norm_month_part DROP CONSTRAINT FK_5090291BA0CBDE4');
  39.         $this->addSql('ALTER TABLE time_norm_month DROP CONSTRAINT FK_96BCD8DC40C1FEA7');
  40.         $this->addSql('DROP TABLE time_norm_month');
  41.         $this->addSql('DROP TABLE time_norm_month_part');
  42.         $this->addSql('DROP TABLE time_norm_year');
  43.     }
  44. }