migrations/Version20180817170949.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 Version20180817170949 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 customers_administrators TO customer_join_user');
  16.         $this->addSql('ALTER TABLE customer_join_user ENGINE = InnoDB');
  17.         $this->addSql('ALTER TABLE customer_join_user CHARACTER SET = utf8mb4');
  18.         $this->addSql('
  19.             ALTER TABLE customer_join_user
  20.                 CHANGE customers_id customer_id INT NOT NULL,
  21.                 CHANGE administrators_id user_id INT NOT NULL
  22.         ');
  23.         $this->addSql('DROP INDEX idx_customers_id ON customer_join_user');
  24.         $this->addSql('DROP INDEX idx_administrators_id ON customer_join_user');
  25.         $this->addSql('CREATE INDEX IDX_B73663CA9395C3F3 ON customer_join_user (customer_id)');
  26.         $this->addSql('CREATE INDEX IDX_B73663CAA76ED395 ON customer_join_user (user_id)');
  27.         $this->addSql('DELETE FROM customer_join_user WHERE customer_id NOT IN (SELECT id FROM customer)');
  28.         $this->addSql('DELETE FROM customer_join_user WHERE user_id NOT IN (SELECT id FROM user)');
  29.         $this->addSql('ALTER TABLE customer_join_user ADD CONSTRAINT FK_D902723E9395C3F3 FOREIGN KEY (customer_id) REFERENCES customer (id) ON DELETE CASCADE');
  30.         $this->addSql('ALTER TABLE customer_join_user ADD CONSTRAINT FK_D902723EA76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
  31.     }
  32.     public function down(Schema $schema): void
  33.     {
  34.         // this down() migration is auto-generated, please modify it to your needs
  35.         $this->abortIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\'.');
  36.         $this->addSql('ALTER TABLE customer_join_user DROP FOREIGN KEY FK_D902723E9395C3F3');
  37.         $this->addSql('ALTER TABLE customer_join_user DROP FOREIGN KEY FK_D902723EA76ED395');
  38.         $this->addSql('RENAME TABLE customer_join_user TO customers_administrators');
  39.         $this->addSql('ALTER TABLE customers_administrators ENGINE = MyISAM');
  40.         $this->addSql('ALTER TABLE customers_administrators CHARACTER SET = latin1');
  41.         $this->addSql('
  42.             ALTER TABLE customers_administrators
  43.                 CHANGE customer_id customers_id INT NOT NULL,
  44.                 CHANGE user_id administrators_id INT NOT NULL
  45.         ');
  46.         $this->addSql('DROP INDEX IDX_B73663CA9395C3F3 ON customers_administrators');
  47.         $this->addSql('DROP INDEX IDX_B73663CAA76ED395 ON customers_administrators');
  48.         $this->addSql('CREATE INDEX idx_customers_id ON customers_administrators (customers_id)');
  49.         $this->addSql('CREATE INDEX idx_administrators_id ON customers_administrators (administrators_id)');
  50.     }
  51. }