migrations/Version20200601112949.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace DoctrineMigrations;
  4. use Doctrine\Migrations\AbstractMigration;
  5. use Doctrine\DBAL\Schema\Schema;
  6. /**
  7.  * Auto-generated Migration: Please modify to your needs!
  8.  */
  9. class Version20200601112949 extends AbstractMigration
  10. {
  11.     /**
  12.      * @param Schema $schema
  13.      */
  14.     public function up(Schema $schema): void
  15.     {
  16.         // this up() migration is auto-generated, please modify it to your needs
  17.         $this->abortIf($this->connection->getDatabasePlatform()->getName() != 'mysql''Migration can only be executed safely on \'mysql\'.');
  18.         $this->addSql('CREATE TABLE hoard_archaeology_site_context_detail (hoard_id INT NOT NULL, archaeology_site_context_detail_id INT NOT NULL, INDEX IDX_8A9E119C762C4B4D (hoard_id), INDEX IDX_8A9E119C810A938 (archaeology_site_context_detail_id), PRIMARY KEY(hoard_id, archaeology_site_context_detail_id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
  19.         $this->addSql('CREATE TABLE hoard_archaeology_context_nature (hoard_id INT NOT NULL, archaeology_context_nature_id INT NOT NULL, INDEX IDX_B0220C28762C4B4D (hoard_id), INDEX IDX_B0220C2874F571E5 (archaeology_context_nature_id), PRIMARY KEY(hoard_id, archaeology_context_nature_id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
  20.         $this->addSql('ALTER TABLE hoard_archaeology_site_context_detail ADD CONSTRAINT FK_8A9E119C762C4B4D FOREIGN KEY (hoard_id) REFERENCES hoard (id)');
  21.         $this->addSql('ALTER TABLE hoard_archaeology_site_context_detail ADD CONSTRAINT FK_8A9E119C810A938 FOREIGN KEY (archaeology_site_context_detail_id) REFERENCES archaeology_site_context_detail (id)');
  22.         $this->addSql('ALTER TABLE hoard_archaeology_context_nature ADD CONSTRAINT FK_B0220C28762C4B4D FOREIGN KEY (hoard_id) REFERENCES hoard (id)');
  23.         $this->addSql('ALTER TABLE hoard_archaeology_context_nature ADD CONSTRAINT FK_B0220C2874F571E5 FOREIGN KEY (archaeology_context_nature_id) REFERENCES archaeology_context_nature (id)');
  24.         
  25.         $this->addSql('INSERT INTO hoard_archaeology_context_nature (hoard_id, archaeology_context_nature_id) SELECT id, archaeology_context_nature_id FROM hoard WHERE archaeology_context_nature_id IS NOT NULL');
  26.         $this->addSql('INSERT INTO hoard_archaeology_site_context_detail (hoard_id, archaeology_site_context_detail_id) SELECT id, archaeology_site_context_detail_id FROM hoard WHERE archaeology_site_context_detail_id IS NOT NULL');
  27.         
  28.         $this->addSql('ALTER TABLE archaeology_site_context CHANGE sort_value sort_value DOUBLE PRECISION DEFAULT NULL');
  29.         $this->addSql('ALTER TABLE hoard DROP FOREIGN KEY archaeology_context_nature');
  30.         $this->addSql('ALTER TABLE hoard DROP FOREIGN KEY archaeology_site_context_detail');
  31.         $this->addSql('ALTER TABLE hoard DROP archaeology_context_nature_id, DROP archaeology_site_context_detail_id');
  32.         $this->addSql('ALTER TABLE hoard_audit DROP archaeology_site_context_detail_id, DROP archaeology_context_nature_id');
  33.         $this->addSql('ALTER TABLE archaeology_context_nature CHANGE sort_value sort_value DOUBLE PRECISION DEFAULT NULL');
  34.         $this->addSql('ALTER TABLE archaeology_site_context_detail CHANGE sort_value sort_value DOUBLE PRECISION DEFAULT NULL');
  35.     }
  36.     /**
  37.      * @param Schema $schema
  38.      */
  39.     public function down(Schema $schema): void
  40.     {
  41.         // this down() migration is auto-generated, please modify it to your needs
  42.         $this->abortIf($this->connection->getDatabasePlatform()->getName() != 'mysql''Migration can only be executed safely on \'mysql\'.');
  43.         $this->addSql('DROP TABLE hoard_archaeology_site_context_detail');
  44.         $this->addSql('DROP TABLE hoard_archaeology_context_nature');
  45.         $this->addSql('ALTER TABLE archaeology_context_nature CHANGE sort_value sort_value DOUBLE PRECISION DEFAULT \'0\' NOT NULL');
  46.         $this->addSql('ALTER TABLE archaeology_site_context CHANGE sort_value sort_value DOUBLE PRECISION DEFAULT \'0\' NOT NULL');
  47.         $this->addSql('ALTER TABLE archaeology_site_context_detail CHANGE sort_value sort_value DOUBLE PRECISION DEFAULT \'0\' NOT NULL');
  48.         $this->addSql('ALTER TABLE hoard ADD archaeology_context_nature_id INT DEFAULT NULL, ADD archaeology_site_context_detail_id INT DEFAULT NULL');
  49.         $this->addSql('ALTER TABLE hoard ADD CONSTRAINT archaeology_context_nature FOREIGN KEY (archaeology_context_nature_id) REFERENCES archaeology_context_nature (id) ON UPDATE NO ACTION ON DELETE NO ACTION');
  50.         $this->addSql('ALTER TABLE hoard ADD CONSTRAINT archaeology_site_context_detail FOREIGN KEY (archaeology_site_context_detail_id) REFERENCES archaeology_site_context_detail (id) ON UPDATE NO ACTION ON DELETE NO ACTION');
  51.         $this->addSql('CREATE INDEX FK_12E633E6810A938 ON hoard (archaeology_site_context_detail_id)');
  52.         $this->addSql('CREATE INDEX FK_12E633E674F571E5 ON hoard (archaeology_context_nature_id)');
  53.         $this->addSql('ALTER TABLE hoard_audit ADD archaeology_site_context_detail_id INT DEFAULT NULL, ADD archaeology_context_nature_id INT DEFAULT NULL');
  54.     }
  55. }