-- Place your SQL code here
DROP TABLE IF EXISTS floranet.builder;

CREATE OR REPLACE TABLE floranet.`element` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(30) NOT NULL,
  `itemFk` int(11) DEFAULT NULL,
  `longNameFilter` varchar(30) DEFAULT NULL,
  `typeFk` smallint(5) unsigned DEFAULT NULL,
  `minSize` int(10) unsigned DEFAULT NULL,
  `maxSize` int(10) unsigned DEFAULT NULL,
  `inkFk` char(3) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `originFk` tinyint(2) unsigned DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `element_FK` (`itemFk`),
  KEY `element_FK_1` (`typeFk`),
  KEY `element_FK_2` (`inkFk`),
  KEY `element_FK_3` (`originFk`),
  CONSTRAINT `element_FK` FOREIGN KEY (`itemFk`) REFERENCES `vn`.`item` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `element_FK_1` FOREIGN KEY (`typeFk`) REFERENCES `vn`.`itemType` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `element_FK_2` FOREIGN KEY (`inkFk`) REFERENCES `vn`.`ink` (`id`) ON UPDATE CASCADE,
  CONSTRAINT `element_FK_3` FOREIGN KEY (`originFk`) REFERENCES `vn`.`origin` (`id`) ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Filtro para localizar posibles items que coincidan con la descripción';

CREATE OR REPLACE TABLE floranet.`recipe` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `itemFk` int(11) NOT NULL,
  `elementFk` int(11) NOT NULL,
  `quantity` int(10) unsigned NOT NULL DEFAULT 1,
  PRIMARY KEY (`id`),
  KEY `recipe_FK` (`itemFk`),
  KEY `recipe_FK_1` (`elementFk`),
  CONSTRAINT `recipe_FK` FOREIGN KEY (`itemFk`) REFERENCES `vn`.`item` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `recipe_element_FK` FOREIGN KEY (`elementFk`) REFERENCES `element` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Links handmade products with their elements';
