migrations/Version20180812224202.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace DoctrineMigrations;
  4. use Doctrine\DBAL\Schema\Schema;
  5. use Doctrine\Migrations\AbstractMigration;
  6. /**
  7.  * Auto-generated Migration: Please modify to your needs!
  8.  */
  9. final class Version20180812224202 extends AbstractMigration
  10. {
  11.     public function up(Schema $schema): void
  12.     {
  13.         // this up() migration is auto-generated, please modify it to your needs
  14.         $this->abortIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\'.');
  15.         $this->addSql('RENAME TABLE sources TO config_source');
  16.         $this->addSql('ALTER TABLE config_source ENGINE = InnoDB');
  17.         $this->addSql('ALTER TABLE config_source CHARACTER SET = utf8mb4');
  18.         $this->addSql('UPDATE config_source SET status = 0 WHERE status IS NULL');
  19.         $this->addSql('
  20.             ALTER TABLE config_source
  21.                 CHANGE sources_parents_id parent_id INT DEFAULT NULL,
  22.                 CHANGE name name VARCHAR(255) NOT NULL,
  23.                 CHANGE utm utm_source VARCHAR(255) DEFAULT NULL,
  24.                 CHANGE status enabled TINYINT(1) NOT NULL,
  25.                 CHANGE allow_import allow_insert_via_api TINYINT(1) NOT NULL
  26.         ');
  27.         $this->addSql('CREATE INDEX IDX_29EB13B1727ACA70 ON config_source (parent_id)');
  28.         $this->addSql('RENAME TABLE sources_parents TO config_source_parent');
  29.         $this->addSql('ALTER TABLE config_source_parent ENGINE = InnoDB');
  30.         $this->addSql('ALTER TABLE config_source_parent CHARACTER SET = utf8mb4');
  31.         $this->addSql('ALTER TABLE config_source_parent CHANGE name name VARCHAR(255) NOT NULL');
  32.         $this->addSql('UPDATE config_source SET parent_id = NULL WHERE parent_id NOT IN (SELECT id FROM config_source_parent)');
  33.         $this->addSql('ALTER TABLE config_source ADD CONSTRAINT FK_7F97C6989A7H9S4L FOREIGN KEY (parent_id) REFERENCES config_source_parent (id) ON DELETE SET NULL');
  34.     }
  35.     public function down(Schema $schema): void
  36.     {
  37.         // this down() migration is auto-generated, please modify it to your needs
  38.         $this->abortIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\'.');
  39.         $this->addSql('ALTER TABLE config_source DROP FOREIGN KEY FK_7F97C6989A7H9S4L');
  40.         $this->addSql('RENAME TABLE config_source TO sources');
  41.         $this->addSql('ALTER TABLE sources ENGINE = MyISAM');
  42.         $this->addSql('ALTER TABLE sources CHARACTER SET = latin1');
  43.         $this->addSql('
  44.             ALTER TABLE sources
  45.                 CHANGE parent_id sources_parents_id INT DEFAULT NULL,
  46.                 CHANGE name name VARCHAR(64) NOT NULL,
  47.                 CHANGE utm_source utm VARCHAR(255) DEFAULT NULL,
  48.                 CHANGE enabled status TINYINT(1) DEFAULT \'0\',
  49.                 CHANGE allow_insert_via_api allow_import TINYINT(1) DEFAULT \'1\'
  50.         ');
  51.         $this->addSql('DROP INDEX IDX_29EB13B1727ACA70 ON sources');
  52.         $this->addSql('RENAME TABLE config_source_parent TO sources_parents');
  53.         $this->addSql('ALTER TABLE sources_parents ENGINE = MyISAM');
  54.         $this->addSql('ALTER TABLE sources_parents CHARACTER SET = latin1');
  55.         $this->addSql('ALTER TABLE sources_parents CHANGE name name VARCHAR(64) NOT NULL');
  56.     }
  57. }