migrations/Version20240422223603.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 Version20240422223603 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('CREATE TABLE ws_document (id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', creator_id CHAR(36) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', stream_id CHAR(36) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', type VARCHAR(255) DEFAULT NULL, completed INT DEFAULT NULL, body LONGTEXT DEFAULT NULL, interactions INT DEFAULT NULL, last_contacted DATETIME DEFAULT NULL, name VARCHAR(255) NOT NULL, created_at DATETIME NOT NULL, modified_at DATETIME NOT NULL, INDEX IDX_B14013BF61220EA6 (creator_id), INDEX idx_steam (stream_id), INDEX idx_name (name), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  19.         $this->addSql('CREATE TABLE ws_document_user (document_id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', user_id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', INDEX IDX_8DC9D3DFC33F7837 (document_id), INDEX IDX_8DC9D3DFA76ED395 (user_id), PRIMARY KEY(document_id, user_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  20.         $this->addSql('ALTER TABLE ws_document ADD CONSTRAINT FK_B14013BF61220EA6 FOREIGN KEY (creator_id) REFERENCES user (id) ON DELETE SET NULL');
  21.         $this->addSql('ALTER TABLE ws_document ADD CONSTRAINT FK_B14013BFD0ED463E FOREIGN KEY (stream_id) REFERENCES w_stream (id) ON DELETE CASCADE');
  22.         $this->addSql('ALTER TABLE ws_document_user ADD CONSTRAINT FK_8DC9D3DFC33F7837 FOREIGN KEY (document_id) REFERENCES ws_document (id) ON DELETE CASCADE');
  23.         $this->addSql('ALTER TABLE ws_document_user ADD CONSTRAINT FK_8DC9D3DFA76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
  24.         $this->addSql('ALTER TABLE notification ADD document_id CHAR(36) DEFAULT NULL COMMENT \'(DC2Type:uuid)\'');
  25.         $this->addSql('ALTER TABLE notification ADD CONSTRAINT FK_BF5476CAC33F7837 FOREIGN KEY (document_id) REFERENCES ws_document (id) ON DELETE CASCADE');
  26.         $this->addSql('CREATE INDEX idx_type ON notification (type)');
  27.         $this->addSql('CREATE INDEX idx_document ON notification (document_id)');
  28.         $this->addSql('ALTER TABLE notification RENAME INDEX idx_bf5476ca82d40a1f TO idx_workspace');
  29.         $this->addSql('ALTER TABLE notification RENAME INDEX idx_bf5476cad0ed463e TO idx_steam');
  30.         $this->addSql('ALTER TABLE notification RENAME INDEX idx_bf5476ca71f7e88b TO idx_event');
  31.         $this->addSql('ALTER TABLE notification RENAME INDEX idx_bf5476ca8db60186 TO idx_task');
  32.         $this->addSql('ALTER TABLE user ADD notify_when_document_assigned LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:array)\'');
  33.         $this->addSql('ALTER TABLE ws_comment ADD document_id CHAR(36) DEFAULT NULL COMMENT \'(DC2Type:uuid)\'');
  34.         $this->addSql('ALTER TABLE ws_comment ADD CONSTRAINT FK_BB2F65FFC33F7837 FOREIGN KEY (document_id) REFERENCES ws_document (id) ON DELETE CASCADE');
  35.         $this->addSql('CREATE INDEX idx_type ON ws_comment (type)');
  36.         $this->addSql('CREATE INDEX idx_document ON ws_comment (document_id)');
  37.         $this->addSql('ALTER TABLE ws_file ADD document_id CHAR(36) DEFAULT NULL COMMENT \'(DC2Type:uuid)\'');
  38.         $this->addSql('ALTER TABLE ws_file ADD CONSTRAINT FK_2E8DFFA2C33F7837 FOREIGN KEY (document_id) REFERENCES ws_document (id) ON DELETE CASCADE');
  39.         $this->addSql('CREATE INDEX idx_type ON ws_file (type)');
  40.         $this->addSql('CREATE INDEX idx_document ON ws_file (document_id)');
  41.         $this->addSql('UPDATE user SET notify_when_document_assigned = \'a:2:{i:0;s:5:"email";i:1;s:5:"inapp";}\'');
  42.     }
  43.     public function down(Schema $schema): void
  44.     {
  45.         // this down() migration is auto-generated, please modify it to your needs
  46.         $this->addSql('ALTER TABLE notification DROP FOREIGN KEY FK_BF5476CAC33F7837');
  47.         $this->addSql('ALTER TABLE ws_comment DROP FOREIGN KEY FK_BB2F65FFC33F7837');
  48.         $this->addSql('ALTER TABLE ws_file DROP FOREIGN KEY FK_2E8DFFA2C33F7837');
  49.         $this->addSql('ALTER TABLE ws_document DROP FOREIGN KEY FK_B14013BF61220EA6');
  50.         $this->addSql('ALTER TABLE ws_document DROP FOREIGN KEY FK_B14013BFD0ED463E');
  51.         $this->addSql('ALTER TABLE ws_document_user DROP FOREIGN KEY FK_8DC9D3DFC33F7837');
  52.         $this->addSql('ALTER TABLE ws_document_user DROP FOREIGN KEY FK_8DC9D3DFA76ED395');
  53.         $this->addSql('DROP TABLE ws_document');
  54.         $this->addSql('DROP TABLE ws_document_user');
  55.         $this->addSql('DROP INDEX idx_type ON notification');
  56.         $this->addSql('DROP INDEX idx_document ON notification');
  57.         $this->addSql('ALTER TABLE notification DROP document_id');
  58.         $this->addSql('ALTER TABLE notification RENAME INDEX idx_event TO IDX_BF5476CA71F7E88B');
  59.         $this->addSql('ALTER TABLE notification RENAME INDEX idx_workspace TO IDX_BF5476CA82D40A1F');
  60.         $this->addSql('ALTER TABLE notification RENAME INDEX idx_steam TO IDX_BF5476CAD0ED463E');
  61.         $this->addSql('ALTER TABLE notification RENAME INDEX idx_task TO IDX_BF5476CA8DB60186');
  62.         $this->addSql('ALTER TABLE user DROP notify_when_document_assigned');
  63.         $this->addSql('DROP INDEX idx_type ON ws_comment');
  64.         $this->addSql('DROP INDEX idx_document ON ws_comment');
  65.         $this->addSql('ALTER TABLE ws_comment DROP document_id');
  66.         $this->addSql('DROP INDEX idx_type ON ws_file');
  67.         $this->addSql('DROP INDEX idx_document ON ws_file');
  68.         $this->addSql('ALTER TABLE ws_file DROP document_id');
  69.     }
  70. }