Files
unicenta-opos/src/main/resources/com/unicenta/pos/scripts/MySQL-FKeys.sql
T
hugh 0282345603 5.0 Source Code
Committing 5.0 Source Code
2023-04-06 18:58:04 +01:00

192 lines
7.7 KiB
SQL

-- uniCenta oPOS - Touch Friendly Point Of Sale
-- Copyright (c) 2009-2017 uniCenta
-- https://unicenta.com
--
-- This file is part of uniCenta oPOS.
--
-- uniCenta oPOS is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- uniCenta oPOS is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
/*
* Script created by Jack, uniCenta 07/08/2016 08:00:00
* Modified 10 Sept 2017
* Called by Transfer for v4.4 after data complete
*/
-- ----------------------------
-- FOREIGN KEYS AND CONSTRAINTS
-- ----------------------------
set foreign_key_checks = 1;
set foreign_key_checks = 0;
-- Update foreign keys of attributeinstance
ALTER TABLE `attributeinstance` ADD CONSTRAINT `attinst_att`
FOREIGN KEY ( `attribute_id` ) REFERENCES `attribute` ( `id` );
ALTER TABLE `attributeinstance` ADD CONSTRAINT `attinst_set`
FOREIGN KEY ( `attributesetinstance_id` ) REFERENCES `attributesetinstance` ( `id` ) ON DELETE CASCADE;
-- Update foreign keys of attributesetinstance
ALTER TABLE `attributesetinstance` ADD CONSTRAINT `attsetinst_set`
FOREIGN KEY ( `attributeset_id` ) REFERENCES `attributeset` ( `id` ) ON DELETE CASCADE;
-- Update foreign keys of attributeuse
ALTER TABLE `attributeuse` ADD CONSTRAINT `attuse_att`
FOREIGN KEY ( `attribute_id` ) REFERENCES `attribute` ( `id` );
ALTER TABLE `attributeuse` ADD CONSTRAINT `attuse_set`
FOREIGN KEY ( `attributeset_id` ) REFERENCES `attributeset` ( `id` ) ON DELETE CASCADE;
-- Update foreign keys of attributevalue
ALTER TABLE `attributevalue` ADD CONSTRAINT `attval_att`
FOREIGN KEY ( `attribute_id` ) REFERENCES `attribute` ( `id` ) ON DELETE CASCADE;
-- Update foreign keys of categories
ALTER TABLE `categories` ADD CONSTRAINT `categories_fk_1`
FOREIGN KEY ( `parentid` ) REFERENCES `categories` ( `id` );
-- Update foreign keys of customers
ALTER TABLE `customers` ADD CONSTRAINT `customers_taxcat`
FOREIGN KEY ( `taxcategory` ) REFERENCES `taxcustcategories` ( `id` );
-- Update foreign keys of leaves
ALTER TABLE `leaves` ADD CONSTRAINT `leaves_pplid`
FOREIGN KEY ( `pplid` ) REFERENCES `people` ( `id` );
-- Update foreign keys of payments
ALTER TABLE `payments` ADD CONSTRAINT `payments_fk_receipt`
FOREIGN KEY ( `receipt` ) REFERENCES `receipts` ( `id` );
-- Update foreign keys of people
ALTER TABLE `people` ADD CONSTRAINT `people_fk_1`
FOREIGN KEY ( `role` ) REFERENCES `roles` ( `id` );
-- Update Indeces of products
ALTER TABLE `products` ADD UNIQUE INDEX `products_inx_0` ( `reference` );
ALTER TABLE `products` ADD UNIQUE INDEX `products_inx_1` ( `code` );
ALTER TABLE `products` ADD INDEX `products_name_inx` ( `name` );
-- Update foreign keys of products
ALTER TABLE `products` ADD CONSTRAINT `products_attrset_fk`
FOREIGN KEY ( `attributeset_id` ) REFERENCES `attributeset` ( `id` );
ALTER TABLE `products` ADD CONSTRAINT `products_fk_1`
FOREIGN KEY ( `category` ) REFERENCES `categories` ( `id` );
ALTER TABLE `products` ADD CONSTRAINT `products_taxcat_fk`
FOREIGN KEY ( `taxcat` ) REFERENCES `taxcategories` ( `id` );
-- Update foreign keys of product_bundle
ALTER TABLE `products_bundle` ADD CONSTRAINT `products_bundle_fk_1`
FOREIGN KEY ( `product` ) REFERENCES `products`( `id` );
ALTER TABLE `products_bundle` ADD CONSTRAINT `products_bundle_fk_2`
FOREIGN KEY ( `product_bundle` ) REFERENCES `products`( `id` );
-- Update foreign keys of products_cat
ALTER TABLE `products_cat` ADD CONSTRAINT `products_cat_fk_1`
FOREIGN KEY ( `product` ) REFERENCES `products` ( `id` );
-- Update foreign keys of products_com
ALTER TABLE `products_com` ADD CONSTRAINT `products_com_fk_1`
FOREIGN KEY ( `product` ) REFERENCES `products` ( `id` );
ALTER TABLE `products_com` ADD CONSTRAINT `products_com_fk_2`
FOREIGN KEY ( `product2` ) REFERENCES `products` ( `id` );
-- Update foreign keys of receipts
ALTER TABLE `receipts` ADD CONSTRAINT `receipts_fk_money`
FOREIGN KEY ( `money` ) REFERENCES `closedcash` ( `money` );
-- Update foreign keys of reservation_customers
ALTER TABLE `reservation_customers` ADD CONSTRAINT `res_cust_fk_1`
FOREIGN KEY ( `id` ) REFERENCES `reservations` ( `id` );
ALTER TABLE `reservation_customers` ADD CONSTRAINT `res_cust_fk_2`
FOREIGN KEY ( `customer` ) REFERENCES `customers` ( `id` );
-- Update foreign keys of shift_breaks
ALTER TABLE `shift_breaks` ADD CONSTRAINT `shift_breaks_breakid`
FOREIGN KEY ( `breakid` ) REFERENCES `breaks` ( `id` );
ALTER TABLE `shift_breaks` ADD CONSTRAINT `shift_breaks_shiftid`
FOREIGN KEY ( `shiftid` ) REFERENCES `shifts` ( `id` );
-- Update foreign keys of stockcurrent
ALTER TABLE `stockcurrent` ADD CONSTRAINT `stockcurrent_attsetinst`
FOREIGN KEY ( `attributesetinstance_id` ) REFERENCES `attributesetinstance` ( `id` );
ALTER TABLE `stockcurrent` ADD CONSTRAINT `stockcurrent_fk_1`
FOREIGN KEY ( `product` ) REFERENCES `products` ( `id` );
ALTER TABLE `stockcurrent` ADD CONSTRAINT `stockcurrent_fk_2`
FOREIGN KEY ( `location` ) REFERENCES `locations` ( `id` );
-- Update foreign keys of stockdiary
ALTER TABLE `stockdiary` ADD CONSTRAINT `stockdiary_attsetinst`
FOREIGN KEY ( `attributesetinstance_id` ) REFERENCES `attributesetinstance` ( `id` );
ALTER TABLE `stockdiary` ADD CONSTRAINT `stockdiary_fk_1`
FOREIGN KEY ( `product` ) REFERENCES `products` ( `id` );
ALTER TABLE `stockdiary` ADD CONSTRAINT `stockdiary_fk_2`
FOREIGN KEY ( `location` ) REFERENCES `locations` ( `id` );
-- Update foreign keys of stocklevel
ALTER TABLE `stocklevel` ADD CONSTRAINT `stocklevel_location`
FOREIGN KEY ( `location` ) REFERENCES `locations` ( `id` );
ALTER TABLE `stocklevel` ADD CONSTRAINT `stocklevel_product`
FOREIGN KEY ( `product` ) REFERENCES `products` ( `id` );
-- Update foreign keys of taxes
ALTER TABLE `taxes` ADD CONSTRAINT `taxes_cat_fk`
FOREIGN KEY ( `category` ) REFERENCES `taxcategories` ( `id` );
ALTER TABLE `taxes` ADD CONSTRAINT `taxes_custcat_fk`
FOREIGN KEY ( `custcategory` ) REFERENCES `taxcustcategories` ( `id` );
ALTER TABLE `taxes` ADD CONSTRAINT `taxes_taxes_fk`
FOREIGN KEY ( `parentid` ) REFERENCES `taxes` ( `id` );
-- Update foreign keys of taxlines
ALTER TABLE `taxlines` ADD CONSTRAINT `taxlines_receipt`
FOREIGN KEY ( `receipt` ) REFERENCES `receipts` ( `id` );
ALTER TABLE `taxlines` ADD CONSTRAINT `taxlines_tax`
FOREIGN KEY ( `taxid` ) REFERENCES `taxes` ( `id` );
-- Update foreign keys of ticketlines
ALTER TABLE `ticketlines` ADD CONSTRAINT `ticketlines_attsetinst`
FOREIGN KEY ( `attributesetinstance_id` ) REFERENCES `attributesetinstance` ( `id` );
ALTER TABLE `ticketlines` ADD CONSTRAINT `ticketlines_fk_2`
FOREIGN KEY ( `product` ) REFERENCES `products` ( `id` );
ALTER TABLE `ticketlines` ADD CONSTRAINT `ticketlines_fk_3`
FOREIGN KEY ( `taxid` ) REFERENCES `taxes` ( `id` );
ALTER TABLE `ticketlines` ADD CONSTRAINT `ticketlines_fk_ticket`
FOREIGN KEY ( `ticket` ) REFERENCES `tickets` ( `id` );
-- Update foreign keys of tickets
ALTER TABLE `tickets` ADD CONSTRAINT `tickets_customers_fk`
FOREIGN KEY ( `customer` ) REFERENCES `customers` ( `id` );
ALTER TABLE `tickets` ADD CONSTRAINT `tickets_fk_2`
FOREIGN KEY ( `person` ) REFERENCES `people` ( `id` );
ALTER TABLE `tickets` ADD CONSTRAINT `tickets_fk_id`
FOREIGN KEY ( `id` ) REFERENCES `receipts` ( `id` );
set foreign_key_checks = 1;
-- *****************************************************************************