-- 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 . /* * 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; -- *****************************************************************************