addSql('CREATE SEQUENCE argument_id_seq INCREMENT BY 1 MINVALUE 1 START 1'); $this->addSql('CREATE SEQUENCE relation_id_seq INCREMENT BY 1 MINVALUE 1 START 1'); $this->addSql('CREATE SEQUENCE "user_id_seq" INCREMENT BY 1 MINVALUE 1 START 1'); $this->addSql('CREATE TABLE argument (id INT NOT NULL, author_id INT NOT NULL, title VARCHAR(255) NOT NULL, content VARCHAR(255) NOT NULL, score INT NOT NULL, created_on TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, updated_on TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, PRIMARY KEY(id))'); $this->addSql('CREATE INDEX IDX_D113B0AF675F31B ON argument (author_id)'); $this->addSql('CREATE TABLE relation (id INT NOT NULL, parent_id INT NOT NULL, child_argument_id INT NOT NULL, justification VARCHAR(255) NOT NULL, created_on TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, updated_on TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, archived BOOLEAN NOT NULL, PRIMARY KEY(id))'); $this->addSql('CREATE INDEX IDX_62894749727ACA70 ON relation (parent_id)'); $this->addSql('CREATE INDEX IDX_62894749E750E80F ON relation (child_argument_id)'); $this->addSql('CREATE TABLE "user" (id INT NOT NULL, username VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL, firstname VARCHAR(255) NOT NULL, lastname VARCHAR(255) NOT NULL, avatar VARCHAR(255) NOT NULL, description VARCHAR(255) DEFAULT NULL, score INT NOT NULL, archived BOOLEAN NOT NULL, phone VARCHAR(15) DEFAULT NULL, email_validated BOOLEAN NOT NULL, updated_on TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, created_on TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, newsletter BOOLEAN NOT NULL, PRIMARY KEY(id))'); $this->addSql('ALTER TABLE argument ADD CONSTRAINT FK_D113B0AF675F31B FOREIGN KEY (author_id) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); $this->addSql('ALTER TABLE relation ADD CONSTRAINT FK_62894749727ACA70 FOREIGN KEY (parent_id) REFERENCES argument (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); $this->addSql('ALTER TABLE relation ADD CONSTRAINT FK_62894749E750E80F FOREIGN KEY (child_argument_id) REFERENCES argument (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); } public function down(Schema $schema): void { // this down() migration is auto-generated, please modify it to your needs $this->addSql('CREATE SCHEMA public'); $this->addSql('DROP SEQUENCE argument_id_seq CASCADE'); $this->addSql('DROP SEQUENCE relation_id_seq CASCADE'); $this->addSql('DROP SEQUENCE "user_id_seq" CASCADE'); $this->addSql('ALTER TABLE argument DROP CONSTRAINT FK_D113B0AF675F31B'); $this->addSql('ALTER TABLE relation DROP CONSTRAINT FK_62894749727ACA70'); $this->addSql('ALTER TABLE relation DROP CONSTRAINT FK_62894749E750E80F'); $this->addSql('DROP TABLE argument'); $this->addSql('DROP TABLE relation'); $this->addSql('DROP TABLE "user"'); } }