addSql('CREATE TABLE address (id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL, label VARCHAR(120) NOT NULL, street VARCHAR(180) NOT NULL, postal_code VARCHAR(20) NOT NULL, city VARCHAR(120) NOT NULL, country_code VARCHAR(2) NOT NULL, PRIMARY KEY(id))'); $this->addSql('CREATE TABLE supplier (id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL, name VARCHAR(180) NOT NULL, PRIMARY KEY(id))'); $this->addSql('CREATE TABLE supplier_address (supplier_id INT NOT NULL, address_id INT NOT NULL, PRIMARY KEY(supplier_id, address_id))'); $this->addSql('CREATE INDEX IDX_3DCE3C74F2C1D6A8 ON supplier_address (supplier_id)'); $this->addSql('CREATE INDEX IDX_3DCE3C746F9B8A0 ON supplier_address (address_id)'); $this->addSql('ALTER TABLE supplier_address ADD CONSTRAINT FK_3DCE3C74F2C1D6A8 FOREIGN KEY (supplier_id) REFERENCES supplier (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); $this->addSql('ALTER TABLE supplier_address ADD CONSTRAINT FK_3DCE3C746F9B8A0 FOREIGN KEY (address_id) REFERENCES address (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); $this->addSql('ALTER TABLE reception ADD supplier_id INT DEFAULT NULL'); $this->addSql('ALTER TABLE reception ADD CONSTRAINT FK_83DC02E32ADD6E01 FOREIGN KEY (supplier_id) REFERENCES supplier (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); $this->addSql('CREATE INDEX IDX_83DC02E32ADD6E01 ON reception (supplier_id)'); } public function down(Schema $schema): void { $this->addSql('ALTER TABLE reception DROP CONSTRAINT FK_83DC02E32ADD6E01'); $this->addSql('DROP INDEX IDX_83DC02E32ADD6E01'); $this->addSql('ALTER TABLE reception DROP supplier_id'); $this->addSql('ALTER TABLE supplier_address DROP CONSTRAINT FK_3DCE3C74F2C1D6A8'); $this->addSql('ALTER TABLE supplier_address DROP CONSTRAINT FK_3DCE3C746F9B8A0'); $this->addSql('DROP TABLE supplier_address'); $this->addSql('DROP TABLE supplier'); $this->addSql('DROP TABLE address'); } }