migrations/Version20211212093054.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 Version20211212093054 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return '';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         // this up() migration is auto-generated, please modify it to your needs
  18.         $this->addSql('DROP INDEX IDX_A2F98E47A76ED395');
  19.         $this->addSql('DROP INDEX slug_idx');
  20.         $this->addSql('DROP INDEX key_idx');
  21.         $this->addSql('CREATE TEMPORARY TABLE __temp__channel AS SELECT id, user_id, "key", slug, name, last_upload_at FROM channel');
  22.         $this->addSql('DROP TABLE channel');
  23.         $this->addSql('CREATE TABLE channel (id BLOB NOT NULL --(DC2Type:uuid)
  24.         , user_id INTEGER DEFAULT NULL, "key" VARCHAR(255) NOT NULL COLLATE BINARY, slug VARCHAR(255) NOT NULL COLLATE BINARY, name VARCHAR(255) DEFAULT NULL COLLATE BINARY, last_upload_at DATETIME NOT NULL, PRIMARY KEY(id), CONSTRAINT FK_A2F98E47A76ED395 FOREIGN KEY (user_id) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE)');
  25.         $this->addSql('INSERT INTO channel (id, user_id, "key", slug, name, last_upload_at) SELECT id, user_id, "key", slug, name, last_upload_at FROM __temp__channel');
  26.         $this->addSql('DROP TABLE __temp__channel');
  27.         $this->addSql('CREATE INDEX IDX_A2F98E47A76ED395 ON channel (user_id)');
  28.         $this->addSql('CREATE UNIQUE INDEX slug_idx ON channel (slug)');
  29.         $this->addSql('CREATE UNIQUE INDEX key_idx ON channel ("key")');
  30.         $this->addSql('DROP INDEX IDX_7CE748AA76ED395');
  31.         $this->addSql('CREATE TEMPORARY TABLE __temp__reset_password_request AS SELECT id, user_id, selector, hashed_token, requested_at, expires_at FROM reset_password_request');
  32.         $this->addSql('DROP TABLE reset_password_request');
  33.         $this->addSql('CREATE TABLE reset_password_request (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, user_id INTEGER NOT NULL, selector VARCHAR(20) NOT NULL COLLATE BINARY, hashed_token VARCHAR(100) NOT NULL COLLATE BINARY, requested_at DATETIME NOT NULL --(DC2Type:datetime_immutable)
  34.         , expires_at DATETIME NOT NULL --(DC2Type:datetime_immutable)
  35.         , CONSTRAINT FK_7CE748AA76ED395 FOREIGN KEY (user_id) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE)');
  36.         $this->addSql('INSERT INTO reset_password_request (id, user_id, selector, hashed_token, requested_at, expires_at) SELECT id, user_id, selector, hashed_token, requested_at, expires_at FROM __temp__reset_password_request');
  37.         $this->addSql('DROP TABLE __temp__reset_password_request');
  38.         $this->addSql('CREATE INDEX IDX_7CE748AA76ED395 ON reset_password_request (user_id)');
  39.     }
  40.     public function down(Schema $schema): void
  41.     {
  42.         // this down() migration is auto-generated, please modify it to your needs
  43.         $this->addSql('DROP INDEX IDX_A2F98E47A76ED395');
  44.         $this->addSql('DROP INDEX slug_idx');
  45.         $this->addSql('DROP INDEX key_idx');
  46.         $this->addSql('CREATE TEMPORARY TABLE __temp__channel AS SELECT id, user_id, "key", slug, name, last_upload_at FROM channel');
  47.         $this->addSql('DROP TABLE channel');
  48.         $this->addSql('CREATE TABLE channel (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, user_id INTEGER DEFAULT NULL, "key" VARCHAR(255) NOT NULL, slug VARCHAR(255) NOT NULL, name VARCHAR(255) DEFAULT NULL, last_upload_at DATETIME NOT NULL)');
  49.         $this->addSql('INSERT INTO channel (id, user_id, "key", slug, name, last_upload_at) SELECT id, user_id, "key", slug, name, last_upload_at FROM __temp__channel');
  50.         $this->addSql('DROP TABLE __temp__channel');
  51.         $this->addSql('CREATE INDEX IDX_A2F98E47A76ED395 ON channel (user_id)');
  52.         $this->addSql('CREATE UNIQUE INDEX slug_idx ON channel (slug)');
  53.         $this->addSql('CREATE UNIQUE INDEX key_idx ON channel ("key")');
  54.         $this->addSql('DROP INDEX IDX_7CE748AA76ED395');
  55.         $this->addSql('CREATE TEMPORARY TABLE __temp__reset_password_request AS SELECT id, user_id, selector, hashed_token, requested_at, expires_at FROM reset_password_request');
  56.         $this->addSql('DROP TABLE reset_password_request');
  57.         $this->addSql('CREATE TABLE reset_password_request (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, user_id INTEGER NOT NULL, selector VARCHAR(20) NOT NULL, hashed_token VARCHAR(100) NOT NULL, requested_at DATETIME NOT NULL --(DC2Type:datetime_immutable)
  58.         , expires_at DATETIME NOT NULL --(DC2Type:datetime_immutable)
  59.         )');
  60.         $this->addSql('INSERT INTO reset_password_request (id, user_id, selector, hashed_token, requested_at, expires_at) SELECT id, user_id, selector, hashed_token, requested_at, expires_at FROM __temp__reset_password_request');
  61.         $this->addSql('DROP TABLE __temp__reset_password_request');
  62.         $this->addSql('CREATE INDEX IDX_7CE748AA76ED395 ON reset_password_request (user_id)');
  63.     }
  64. }