addSql('CREATE TABLE task (id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL, title VARCHAR(255) NOT NULL, description TEXT DEFAULT NULL, status_id INT DEFAULT NULL, effort_id INT DEFAULT NULL, priority_id INT DEFAULT NULL, assignee_id INT DEFAULT NULL, group_id INT DEFAULT NULL, project_id INT NOT NULL, PRIMARY KEY (id))'); $this->addSql('CREATE INDEX IDX_527EDB256BF700BD ON task (status_id)'); $this->addSql('CREATE INDEX IDX_527EDB259F2256F ON task (effort_id)'); $this->addSql('CREATE INDEX IDX_527EDB25497B19F9 ON task (priority_id)'); $this->addSql('CREATE INDEX IDX_527EDB2559EC7D60 ON task (assignee_id)'); $this->addSql('CREATE INDEX IDX_527EDB25FE54D947 ON task (group_id)'); $this->addSql('CREATE INDEX IDX_527EDB25166D1F9C ON task (project_id)'); $this->addSql('CREATE TABLE task_task_type (task_id INT NOT NULL, task_type_id INT NOT NULL, PRIMARY KEY (task_id, task_type_id))'); $this->addSql('CREATE INDEX IDX_80470E038DB60186 ON task_task_type (task_id)'); $this->addSql('CREATE INDEX IDX_80470E03DAADA679 ON task_task_type (task_type_id)'); $this->addSql('CREATE TABLE task_effort (id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL, label VARCHAR(50) NOT NULL, PRIMARY KEY (id))'); $this->addSql('CREATE TABLE task_group (id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL, title VARCHAR(255) NOT NULL, description TEXT DEFAULT NULL, color VARCHAR(7) NOT NULL, project_id INT NOT NULL, PRIMARY KEY (id))'); $this->addSql('CREATE INDEX IDX_AA645FE5166D1F9C ON task_group (project_id)'); $this->addSql('CREATE TABLE task_priority (id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL, label VARCHAR(255) NOT NULL, color VARCHAR(7) NOT NULL, PRIMARY KEY (id))'); $this->addSql('CREATE TABLE task_status (id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL, label VARCHAR(255) NOT NULL, color VARCHAR(7) NOT NULL, position INT NOT NULL, PRIMARY KEY (id))'); $this->addSql('CREATE TABLE task_type (id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL, label VARCHAR(255) NOT NULL, color VARCHAR(7) NOT NULL, PRIMARY KEY (id))'); $this->addSql('ALTER TABLE task ADD CONSTRAINT FK_527EDB256BF700BD FOREIGN KEY (status_id) REFERENCES task_status (id) ON DELETE SET NULL NOT DEFERRABLE'); $this->addSql('ALTER TABLE task ADD CONSTRAINT FK_527EDB259F2256F FOREIGN KEY (effort_id) REFERENCES task_effort (id) ON DELETE SET NULL NOT DEFERRABLE'); $this->addSql('ALTER TABLE task ADD CONSTRAINT FK_527EDB25497B19F9 FOREIGN KEY (priority_id) REFERENCES task_priority (id) ON DELETE SET NULL NOT DEFERRABLE'); $this->addSql('ALTER TABLE task ADD CONSTRAINT FK_527EDB2559EC7D60 FOREIGN KEY (assignee_id) REFERENCES "user" (id) ON DELETE SET NULL NOT DEFERRABLE'); $this->addSql('ALTER TABLE task ADD CONSTRAINT FK_527EDB25FE54D947 FOREIGN KEY (group_id) REFERENCES task_group (id) ON DELETE SET NULL NOT DEFERRABLE'); $this->addSql('ALTER TABLE task ADD CONSTRAINT FK_527EDB25166D1F9C FOREIGN KEY (project_id) REFERENCES project (id) ON DELETE CASCADE NOT DEFERRABLE'); $this->addSql('ALTER TABLE task_task_type ADD CONSTRAINT FK_80470E038DB60186 FOREIGN KEY (task_id) REFERENCES task (id) ON DELETE CASCADE'); $this->addSql('ALTER TABLE task_task_type ADD CONSTRAINT FK_80470E03DAADA679 FOREIGN KEY (task_type_id) REFERENCES task_type (id) ON DELETE CASCADE'); $this->addSql('ALTER TABLE task_group ADD CONSTRAINT FK_AA645FE5166D1F9C FOREIGN KEY (project_id) REFERENCES project (id) ON DELETE CASCADE NOT DEFERRABLE'); } public function down(Schema $schema): void { // this down() migration is auto-generated, please modify it to your needs $this->addSql('ALTER TABLE task DROP CONSTRAINT FK_527EDB256BF700BD'); $this->addSql('ALTER TABLE task DROP CONSTRAINT FK_527EDB259F2256F'); $this->addSql('ALTER TABLE task DROP CONSTRAINT FK_527EDB25497B19F9'); $this->addSql('ALTER TABLE task DROP CONSTRAINT FK_527EDB2559EC7D60'); $this->addSql('ALTER TABLE task DROP CONSTRAINT FK_527EDB25FE54D947'); $this->addSql('ALTER TABLE task DROP CONSTRAINT FK_527EDB25166D1F9C'); $this->addSql('ALTER TABLE task_task_type DROP CONSTRAINT FK_80470E038DB60186'); $this->addSql('ALTER TABLE task_task_type DROP CONSTRAINT FK_80470E03DAADA679'); $this->addSql('ALTER TABLE task_group DROP CONSTRAINT FK_AA645FE5166D1F9C'); $this->addSql('DROP TABLE task'); $this->addSql('DROP TABLE task_task_type'); $this->addSql('DROP TABLE task_effort'); $this->addSql('DROP TABLE task_group'); $this->addSql('DROP TABLE task_priority'); $this->addSql('DROP TABLE task_status'); $this->addSql('DROP TABLE task_type'); } }