
# This is a fix for InnoDB in MySQL >= 4.1.x
# It "suspends judgement" for fkey relationships until are tables are set.
SET FOREIGN_KEY_CHECKS = 0;

-- ---------------------------------------------------------------------
-- recipe
-- ---------------------------------------------------------------------

DROP TABLE IF EXISTS `recipe`;

CREATE TABLE `recipe`
(
    `id` INTEGER NOT NULL AUTO_INCREMENT,
    `content_id` INTEGER,
    `title` VARCHAR(255) NOT NULL,
    `summary` VARCHAR(255),
    `people` INTEGER NOT NULL,
    `difficulty` INTEGER NOT NULL,
    `preparation_time` VARCHAR(255) NOT NULL,
    `cooking_time` VARCHAR(255),
    `other_ingredients` VARCHAR(255),
    PRIMARY KEY (`id`),
    INDEX `fi_content_content_id` (`content_id`),
    CONSTRAINT `fk_content_content_id`
        FOREIGN KEY (`content_id`)
        REFERENCES `content` (`id`)
) ENGINE=InnoDB;

-- ---------------------------------------------------------------------
-- recipe_steps
-- ---------------------------------------------------------------------

DROP TABLE IF EXISTS `recipe_steps`;

CREATE TABLE `recipe_steps`
(
    `recipe_id` INTEGER NOT NULL,
    `step` INTEGER NOT NULL,
    `description` VARCHAR(255) NOT NULL,
    PRIMARY KEY (`recipe_id`,`step`),
    CONSTRAINT `fk_recipesteps_recipe_id`
        FOREIGN KEY (`recipe_id`)
        REFERENCES `recipe` (`id`)
) ENGINE=InnoDB;

-- ---------------------------------------------------------------------
-- recipe_products
-- ---------------------------------------------------------------------

DROP TABLE IF EXISTS `recipe_products`;

CREATE TABLE `recipe_products`
(
    `recipe_id` INTEGER NOT NULL,
    `pse_id` INTEGER NOT NULL,
    `nb_of_products` INTEGER NOT NULL,
    `quantity` VARCHAR(255) NOT NULL,
    PRIMARY KEY (`recipe_id`,`pse_id`),
    INDEX `fi_recipeproducts_pse_id` (`pse_id`),
    CONSTRAINT `fk_recipeproducts_recipe_id`
        FOREIGN KEY (`recipe_id`)
        REFERENCES `recipe` (`id`),
    CONSTRAINT `fk_recipeproducts_pse_id`
        FOREIGN KEY (`pse_id`)
        REFERENCES `product_sale_elements` (`id`)
) ENGINE=InnoDB;

# This restores the fkey checks, after having unset them earlier
SET FOREIGN_KEY_CHECKS = 1;
