addSql(<<<'SQL' CREATE TABLE input_recipe_material (id INT AUTO_INCREMENT NOT NULL, recipe_id INT NOT NULL, material_id INT NOT NULL, consumed_quantity INT NOT NULL, INDEX IDX_77575DA759D8A214 (recipe_id), INDEX IDX_77575DA7E308AC6F (material_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB SQL); $this->addSql(<<<'SQL' CREATE TABLE machine (id INT AUTO_INCREMENT NOT NULL, label_extra_info1 VARCHAR(255) DEFAULT NULL, label_extra_info2 VARCHAR(255) DEFAULT NULL, name VARCHAR(50) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB SQL); $this->addSql(<<<'SQL' CREATE TABLE material (id INT AUTO_INCREMENT NOT NULL, type_id INT NOT NULL, is_craftable_by_default TINYINT(1) NOT NULL, name VARCHAR(50) NOT NULL, INDEX IDX_7CBE7595C54C8C93 (type_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB SQL); $this->addSql(<<<'SQL' CREATE TABLE material_type (id INT AUTO_INCREMENT NOT NULL, stack_size INT NOT NULL, name VARCHAR(50) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB SQL); $this->addSql(<<<'SQL' CREATE TABLE output_recipe_material (id INT AUTO_INCREMENT NOT NULL, recipe_id INT NOT NULL, material_id INT NOT NULL, produced_quantity DOUBLE PRECISION NOT NULL, INDEX IDX_CB0D94B259D8A214 (recipe_id), INDEX IDX_CB0D94B2E308AC6F (material_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB SQL); $this->addSql(<<<'SQL' CREATE TABLE recipe (id INT AUTO_INCREMENT NOT NULL, machine_id INT NOT NULL, crafting_time DOUBLE PRECISION NOT NULL, name VARCHAR(50) NOT NULL, INDEX IDX_DA88B137F6B75B26 (machine_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB SQL); $this->addSql(<<<'SQL' ALTER TABLE input_recipe_material ADD CONSTRAINT FK_77575DA759D8A214 FOREIGN KEY (recipe_id) REFERENCES recipe (id) ON DELETE CASCADE SQL); $this->addSql(<<<'SQL' ALTER TABLE input_recipe_material ADD CONSTRAINT FK_77575DA7E308AC6F FOREIGN KEY (material_id) REFERENCES material (id) SQL); $this->addSql(<<<'SQL' ALTER TABLE material ADD CONSTRAINT FK_7CBE7595C54C8C93 FOREIGN KEY (type_id) REFERENCES material_type (id) SQL); $this->addSql(<<<'SQL' ALTER TABLE output_recipe_material ADD CONSTRAINT FK_CB0D94B259D8A214 FOREIGN KEY (recipe_id) REFERENCES recipe (id) ON DELETE CASCADE SQL); $this->addSql(<<<'SQL' ALTER TABLE output_recipe_material ADD CONSTRAINT FK_CB0D94B2E308AC6F FOREIGN KEY (material_id) REFERENCES material (id) SQL); $this->addSql(<<<'SQL' ALTER TABLE recipe ADD CONSTRAINT FK_DA88B137F6B75B26 FOREIGN KEY (machine_id) REFERENCES machine (id) SQL); } public function down(Schema $schema): void { // this down() migration is auto-generated, please modify it to your needs $this->addSql(<<<'SQL' ALTER TABLE input_recipe_material DROP FOREIGN KEY FK_77575DA759D8A214 SQL); $this->addSql(<<<'SQL' ALTER TABLE input_recipe_material DROP FOREIGN KEY FK_77575DA7E308AC6F SQL); $this->addSql(<<<'SQL' ALTER TABLE material DROP FOREIGN KEY FK_7CBE7595C54C8C93 SQL); $this->addSql(<<<'SQL' ALTER TABLE output_recipe_material DROP FOREIGN KEY FK_CB0D94B259D8A214 SQL); $this->addSql(<<<'SQL' ALTER TABLE output_recipe_material DROP FOREIGN KEY FK_CB0D94B2E308AC6F SQL); $this->addSql(<<<'SQL' ALTER TABLE recipe DROP FOREIGN KEY FK_DA88B137F6B75B26 SQL); $this->addSql(<<<'SQL' DROP TABLE input_recipe_material SQL); $this->addSql(<<<'SQL' DROP TABLE machine SQL); $this->addSql(<<<'SQL' DROP TABLE material SQL); $this->addSql(<<<'SQL' DROP TABLE material_type SQL); $this->addSql(<<<'SQL' DROP TABLE output_recipe_material SQL); $this->addSql(<<<'SQL' DROP TABLE recipe SQL); } }