60 lines
2.4 KiB
SQL
60 lines
2.4 KiB
SQL
# 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;
|
|
|
|
ALTER TABLE `customer_family` ADD `category_restriction_enabled` TINYINT DEFAULT 0 AFTER `code`;
|
|
ALTER TABLE `customer_family` ADD `brand_restriction_enabled` TINYINT DEFAULT 0 AFTER `category_restriction_enabled`;
|
|
|
|
-- ---------------------------------------------------------------------
|
|
-- customer_family_available_category
|
|
-- ---------------------------------------------------------------------
|
|
|
|
DROP TABLE IF EXISTS `customer_family_available_category`;
|
|
|
|
CREATE TABLE `customer_family_available_category`
|
|
(
|
|
`customer_family_id` INTEGER NOT NULL,
|
|
`category_id` INTEGER NOT NULL,
|
|
PRIMARY KEY (`customer_family_id`,`category_id`),
|
|
INDEX `idx_customer_family_available_category_customer_family_id` (`customer_family_id`),
|
|
INDEX `idx_customer_family_available_category_category_id` (`category_id`),
|
|
CONSTRAINT `fk_customer_family_available_category_customer_family_id`
|
|
FOREIGN KEY (`customer_family_id`)
|
|
REFERENCES `customer_family` (`id`)
|
|
ON UPDATE CASCADE
|
|
ON DELETE CASCADE,
|
|
CONSTRAINT `fk_customer_family_available_category_category_id`
|
|
FOREIGN KEY (`category_id`)
|
|
REFERENCES `category` (`id`)
|
|
ON UPDATE CASCADE
|
|
ON DELETE CASCADE
|
|
) ENGINE=InnoDB;
|
|
|
|
-- ---------------------------------------------------------------------
|
|
-- customer_family_available_brand
|
|
-- ---------------------------------------------------------------------
|
|
|
|
DROP TABLE IF EXISTS `customer_family_available_brand`;
|
|
|
|
CREATE TABLE `customer_family_available_brand`
|
|
(
|
|
`customer_family_id` INTEGER NOT NULL,
|
|
`brand_id` INTEGER NOT NULL,
|
|
PRIMARY KEY (`customer_family_id`,`brand_id`),
|
|
INDEX `idx_customer_family_available_brand_customer_family_id` (`customer_family_id`),
|
|
INDEX `idx_customer_family_available_brand_brand_id` (`brand_id`),
|
|
CONSTRAINT `fk_customer_family_available_brand_customer_family_id`
|
|
FOREIGN KEY (`customer_family_id`)
|
|
REFERENCES `customer_family` (`id`)
|
|
ON UPDATE CASCADE
|
|
ON DELETE CASCADE,
|
|
CONSTRAINT `fk_customer_family_available_brand_brand_id`
|
|
FOREIGN KEY (`brand_id`)
|
|
REFERENCES `brand` (`id`)
|
|
ON UPDATE CASCADE
|
|
ON DELETE CASCADE
|
|
) ENGINE=InnoDB;
|
|
|
|
# This restores the fkey checks, after having unset them earlier
|
|
SET FOREIGN_KEY_CHECKS = 1;
|