migrations/Version20191003144428.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 Version20191003144428 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->abortIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\'.');
  19.         $this->addSql('CREATE TABLE project_card (id INT AUTO_INCREMENT NOT NULL, project_id INT DEFAULT NULL, user_id INT DEFAULT NULL, name VARCHAR(255) NOT NULL, created_at DATETIME NOT NULL, modified_at DATETIME NOT NULL, INDEX IDX_2F8550CB166D1F9C (project_id), INDEX IDX_2F8550CBA76ED395 (user_id), INDEX idx_name (name), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
  20.         $this->addSql('CREATE TABLE project_comment (id INT AUTO_INCREMENT NOT NULL, item_id INT DEFAULT NULL, user_id INT DEFAULT NULL, body LONGTEXT NOT NULL, created_at DATETIME NOT NULL, modified_at DATETIME NOT NULL, INDEX IDX_26A5E09126F525E (item_id), INDEX IDX_26A5E09A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
  21.         $this->addSql('CREATE TABLE project_item (id INT AUTO_INCREMENT NOT NULL, project_id INT DEFAULT NULL, card_id INT DEFAULT NULL, user_id INT DEFAULT NULL, tag_id INT DEFAULT NULL, name VARCHAR(255) NOT NULL, enabled TINYINT(1) NOT NULL, created_at DATETIME NOT NULL, modified_at DATETIME NOT NULL, INDEX IDX_268AED06166D1F9C (project_id), INDEX IDX_268AED064ACC9A20 (card_id), INDEX IDX_268AED06A76ED395 (user_id), INDEX IDX_268AED06BAD26311 (tag_id), INDEX idx_name (name), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
  22.         $this->addSql('CREATE TABLE project_participant (id INT AUTO_INCREMENT NOT NULL, item_id INT DEFAULT NULL, user_id INT DEFAULT NULL, viewed TINYINT(1) NOT NULL, unread TINYINT(1) NOT NULL, INDEX IDX_1F509CEA126F525E (item_id), INDEX IDX_1F509CEAA76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
  23.         $this->addSql('CREATE TABLE project (id INT AUTO_INCREMENT NOT NULL, user_id INT DEFAULT NULL, name VARCHAR(255) NOT NULL, description LONGTEXT NOT NULL, enabled TINYINT(1) NOT NULL, created_at DATETIME NOT NULL, modified_at DATETIME NOT NULL, allow_all_users TINYINT(1) NOT NULL, allow_all_groups TINYINT(1) NOT NULL, INDEX IDX_2FB3D0EEA76ED395 (user_id), INDEX idx_name (name), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
  24.         $this->addSql('CREATE TABLE project_join_user (project_id INT NOT NULL, user_id INT NOT NULL, INDEX IDX_DF7DE07166D1F9C (project_id), INDEX IDX_DF7DE07A76ED395 (user_id), PRIMARY KEY(project_id, user_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
  25.         $this->addSql('CREATE TABLE project_join_group (project_id INT NOT NULL, group_id INT NOT NULL, INDEX IDX_FC244C5A166D1F9C (project_id), INDEX IDX_FC244C5AFE54D947 (group_id), PRIMARY KEY(project_id, group_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
  26.         $this->addSql('CREATE TABLE project_tag (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, color VARCHAR(6) DEFAULT NULL, INDEX idx_name (name), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
  27.         $this->addSql('ALTER TABLE project_card ADD CONSTRAINT FK_2F8550CB166D1F9C FOREIGN KEY (project_id) REFERENCES project (id) ON DELETE CASCADE');
  28.         $this->addSql('ALTER TABLE project_card ADD CONSTRAINT FK_2F8550CBA76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE SET NULL');
  29.         $this->addSql('ALTER TABLE project_comment ADD CONSTRAINT FK_26A5E09126F525E FOREIGN KEY (item_id) REFERENCES project_item (id) ON DELETE CASCADE');
  30.         $this->addSql('ALTER TABLE project_comment ADD CONSTRAINT FK_26A5E09A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE SET NULL');
  31.         $this->addSql('ALTER TABLE project_item ADD CONSTRAINT FK_268AED06166D1F9C FOREIGN KEY (project_id) REFERENCES project (id) ON DELETE CASCADE');
  32.         $this->addSql('ALTER TABLE project_item ADD CONSTRAINT FK_268AED064ACC9A20 FOREIGN KEY (card_id) REFERENCES project_card (id) ON DELETE SET NULL');
  33.         $this->addSql('ALTER TABLE project_item ADD CONSTRAINT FK_268AED06A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE SET NULL');
  34.         $this->addSql('ALTER TABLE project_item ADD CONSTRAINT FK_268AED06BAD26311 FOREIGN KEY (tag_id) REFERENCES project_tag (id) ON DELETE SET NULL');
  35.         $this->addSql('ALTER TABLE project_participant ADD CONSTRAINT FK_1F509CEA126F525E FOREIGN KEY (item_id) REFERENCES project_item (id) ON DELETE CASCADE');
  36.         $this->addSql('ALTER TABLE project_participant ADD CONSTRAINT FK_1F509CEAA76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
  37.         $this->addSql('ALTER TABLE project ADD CONSTRAINT FK_2FB3D0EEA76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE SET NULL');
  38.         $this->addSql('ALTER TABLE project_join_user ADD CONSTRAINT FK_DF7DE07166D1F9C FOREIGN KEY (project_id) REFERENCES project (id) ON DELETE CASCADE');
  39.         $this->addSql('ALTER TABLE project_join_user ADD CONSTRAINT FK_DF7DE07A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
  40.         $this->addSql('ALTER TABLE project_join_group ADD CONSTRAINT FK_FC244C5A166D1F9C FOREIGN KEY (project_id) REFERENCES project (id) ON DELETE CASCADE');
  41.         $this->addSql('ALTER TABLE project_join_group ADD CONSTRAINT FK_FC244C5AFE54D947 FOREIGN KEY (group_id) REFERENCES user_group (id) ON DELETE CASCADE');
  42.     }
  43.     public function down(Schema $schema): void
  44.     {
  45.         // this down() migration is auto-generated, please modify it to your needs
  46.         $this->abortIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\'.');
  47.         $this->addSql('ALTER TABLE project_item DROP FOREIGN KEY FK_268AED064ACC9A20');
  48.         $this->addSql('ALTER TABLE project_comment DROP FOREIGN KEY FK_26A5E09126F525E');
  49.         $this->addSql('ALTER TABLE project_participant DROP FOREIGN KEY FK_1F509CEA126F525E');
  50.         $this->addSql('ALTER TABLE project_card DROP FOREIGN KEY FK_2F8550CB166D1F9C');
  51.         $this->addSql('ALTER TABLE project_item DROP FOREIGN KEY FK_268AED06166D1F9C');
  52.         $this->addSql('ALTER TABLE project_join_user DROP FOREIGN KEY FK_DF7DE07166D1F9C');
  53.         $this->addSql('ALTER TABLE project_join_group DROP FOREIGN KEY FK_FC244C5A166D1F9C');
  54.         $this->addSql('ALTER TABLE project_item DROP FOREIGN KEY FK_268AED06BAD26311');
  55.         $this->addSql('DROP TABLE project_card');
  56.         $this->addSql('DROP TABLE project_comment');
  57.         $this->addSql('DROP TABLE project_item');
  58.         $this->addSql('DROP TABLE project_participant');
  59.         $this->addSql('DROP TABLE project');
  60.         $this->addSql('DROP TABLE project_join_user');
  61.         $this->addSql('DROP TABLE project_join_group');
  62.         $this->addSql('DROP TABLE project_tag');
  63.     }
  64. }