1. PostgreSQL copy of all MySQL created and tested.\n 2. Purchase Orders and Sales Orders and stock level management added to MySQL, PostgreSQL, and server and front end code.

This commit is contained in:
2024-07-05 20:34:11 +01:00
parent 3a2a164213
commit 6f4e329258
3049 changed files with 535753 additions and 3022 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,293 @@
/* Clear Store DataBase */
-- Drop dependencies
DROP TABLE IF EXISTS Shop_User_Eval_Temp;
DROP TABLE IF EXISTS tmp_Msg_Error;
DROP TABLE IF EXISTS tmp_Currency;
DROP TABLE IF EXISTS tmp_Delivery_Region;
DROP TABLE IF EXISTS tmp_Region;
DROP TABLE IF EXISTS tmp_Shop_User;
DROP TABLE IF EXISTS tmp_Shop_Order;
DROP TABLE IF EXISTS tmp_Shop_Product;
DROP TABLE IF EXISTS tmp_Shop_Product_p_Shop_User_Eval;
DROP TABLE IF EXISTS tmp_Shop_Image;
DROP TABLE IF EXISTS tmp_Shop_Variation;
DROP TABLE IF EXISTS tmp_Shop_Discount;
DROP TABLE IF EXISTS tmp_Discount;
DROP TABLE IF EXISTS tmp_Shop_Category;
DROP TABLE IF EXISTS tmp_Shop_Product_Currency_Region_Link;
DROP TABLE IF EXISTS tmp_Shop_Product_Currency_Link;
DROP TABLE IF EXISTS tmp_User_Role_Link;
DROP TABLE IF EXISTS tmp_Shop_Basket;
DROP TABLE IF EXISTS tmp_Shop_Supplier_Purchase_Order_Product_Link;
DROP TABLE IF EXISTS tmp_Shop_Supplier_Purchase_Order;
DROP TABLE IF EXISTS tmp_Shop_Supplier;
DROP TABLE IF EXISTS tmp_Shop_Manufacturing_Purchase_Order_Product_Link;
DROP TABLE IF EXISTS tmp_Shop_Manufacturing_Purchase_Order;
DROP TABLE IF EXISTS tmp_Shop_Customer;
-- Delete old tables
DROP TABLE IF EXISTS Shop_Customer_Sales_Order_Product_Link_Temp;
DROP TABLE IF EXISTS Shop_Customer_Sales_Order_Product_Link_Audit;
DROP TABLE IF EXISTS Shop_Customer_Sales_Order_Product_Link;
DROP TABLE IF EXISTS Shop_Customer_Sales_Order_Audit;
DROP TABLE IF EXISTS Shop_Customer_Sales_Order;
DROP TABLE IF EXISTS Shop_Customer_Audit;
DROP TABLE IF EXISTS Shop_Customer;
DROP TABLE IF EXISTS Shop_Manufacturing_Purchase_Order_Product_Link_Temp;
DROP TABLE IF EXISTS Shop_Manufacturing_Purchase_Order_Product_Link_Audit;
DROP TABLE IF EXISTS Shop_Manufacturing_Purchase_Order_Product_Link;
DROP TABLE IF EXISTS Shop_Manufacturing_Purchase_Order_Audit;
DROP TABLE IF EXISTS Shop_Manufacturing_Purchase_Order;
DROP TABLE IF EXISTS Shop_Supplier_Purchase_Order_Product_Link_Temp;
DROP TABLE IF EXISTS Shop_Supplier_Purchase_Order_Product_Link_Audit;
DROP TABLE IF EXISTS Shop_Supplier_Purchase_Order_Product_Link;
DROP TABLE IF EXISTS Shop_Supplier_Purchase_Order_Audit;
DROP TABLE IF EXISTS Shop_Supplier_Purchase_Order;
DROP TABLE IF EXISTS Shop_Unit_Measurement_Conversion_Audit;
DROP TABLE IF EXISTS Shop_Unit_Measurement_Conversion;
DROP TABLE IF EXISTS Shop_Unit_Measurement_Audit;
DROP TABLE IF EXISTS Shop_Unit_Measurement;
DROP TABLE IF EXISTS Shop_Supplier_Audit;
DROP TABLE IF EXISTS Shop_Supplier;
DROP TABLE IF EXISTS Shop_User_Order_Product_Link_Audit;
DROP TABLE IF EXISTS Shop_User_Order_Product_Link;
DROP TABLE IF EXISTS Shop_User_Order_Audit;
DROP TABLE IF EXISTS Shop_User_Order;
DROP TABLE IF EXISTS Shop_User_Order_Status_Audit;
DROP TABLE IF EXISTS Shop_User_Order_Status;
DROP TABLE IF EXISTS Shop_User_Basket_Audit;
DROP TABLE IF EXISTS Shop_User_Basket;
DROP TABLE IF EXISTS Shop_Address_Audit;
DROP TABLE IF EXISTS Shop_Address;
DROP TABLE IF EXISTS Shop_User_Role_Link_Audit;
DROP TABLE IF EXISTS Shop_User_Role_Link;
DROP TABLE IF EXISTS Shop_User_Audit;
DROP TABLE IF EXISTS Shop_User;
DROP TABLE IF EXISTS Shop_Role_Permission_Link_Audit;
DROP TABLE IF EXISTS Shop_Role_Permission_Link;
DROP TABLE IF EXISTS Shop_Role_Audit;
DROP TABLE IF EXISTS Shop_Role;
DROP TABLE IF EXISTS Shop_Permission_Audit;
DROP TABLE IF EXISTS Shop_Permission;
DROP TABLE IF EXISTS Shop_Permission_Group_Audit;
DROP TABLE IF EXISTS Shop_Permission_Group;
DROP TABLE IF EXISTS Shop_Discount_Region_Currency_Link_Audit;
DROP TABLE IF EXISTS Shop_Discount_Region_Currency_Link;
DROP TABLE IF EXISTS Shop_Discount_Audit;
DROP TABLE IF EXISTS Shop_Discount;
DROP TABLE IF EXISTS Shop_Product_Delivery_Option_Link_Audit;
DROP TABLE IF EXISTS Shop_Product_Delivery_Option_Link;
DROP TABLE IF EXISTS Shop_Delivery_Option_Audit;
DROP TABLE IF EXISTS Shop_Delivery_Option;
DROP TABLE IF EXISTS Shop_Image_Audit;
DROP TABLE IF EXISTS Shop_Image;
DROP TABLE IF EXISTS Shop_Image_Type_Audit;
DROP TABLE IF EXISTS Shop_Image_Type;
DROP TABLE IF EXISTS Shop_Product_Currency_Region_Link_Audit;
DROP TABLE IF EXISTS Shop_Product_Currency_Region_Link;
DROP TABLE IF EXISTS Shop_Product_Currency_Link_Audit;
DROP TABLE IF EXISTS Shop_Product_Currency_Link;
DROP TABLE IF EXISTS Shop_Product_Variation_Link_Audit;
DROP TABLE IF EXISTS Shop_Product_Variation_Link;
DROP TABLE IF EXISTS Shop_Product_Permutation_Variation_Link_Audit;
DROP TABLE IF EXISTS Shop_Product_Permutation_Variation_Link;
DROP TABLE IF EXISTS Shop_Product_Permutation_Audit;
DROP TABLE IF EXISTS Shop_Product_Permutation;
DROP TABLE IF EXISTS Shop_Variation_Audit;
DROP TABLE IF EXISTS Shop_Variation;
DROP TABLE IF EXISTS Shop_Product_Variation_Type_Link_Audit;
DROP TABLE IF EXISTS Shop_Product_Variation_Type_Link;
DROP TABLE IF EXISTS Shop_Variation_Type_Audit;
DROP TABLE IF EXISTS Shop_Variation_Type;
DROP TABLE IF EXISTS Shop_Product_Audit;
DROP TABLE IF EXISTS Shop_Product;
DROP TABLE IF EXISTS Shop_Tax_Or_Surcharge_Audit;
DROP TABLE IF EXISTS Shop_Tax_Or_Surcharge;
DROP TABLE IF EXISTS Shop_Currency_Audit;
DROP TABLE IF EXISTS Shop_Currency;
DROP TABLE IF EXISTS Shop_Delivery_Region_Branch_Audit;
DROP TABLE IF EXISTS Shop_Delivery_Region_Branch;
DROP TABLE IF EXISTS Shop_Region_Branch_Audit;
DROP TABLE IF EXISTS Shop_Region_Branch;
DROP TABLE IF EXISTS Shop_Delivery_Region_Audit;
DROP TABLE IF EXISTS Shop_Delivery_Region;
DROP TABLE IF EXISTS Shop_Region_Audit;
DROP TABLE IF EXISTS Shop_Region;
DROP TABLE IF EXISTS Shop_Recurrence_Interval_Audit;
DROP TABLE IF EXISTS Shop_Recurrence_Interval;
DROP TABLE IF EXISTS Shop_Category_Audit;
DROP TABLE IF EXISTS Shop_Category;
DROP TABLE IF EXISTS Shop_General_Audit;
DROP TABLE IF EXISTS Shop_General;
DROP TABLE IF EXISTS File_Type_Audit;
DROP TABLE IF EXISTS File_Type;
DROP TABLE IF EXISTS Msg_Error_Type;
DROP TABLE IF EXISTS Shop_Access_Level_Audit;
DROP TABLE IF EXISTS Shop_Access_Level;
DROP TABLE IF EXISTS Shop_Sales_And_Purchasing_Change_Set;
DROP TABLE IF EXISTS Shop_User_Change_Set;
DROP TABLE IF EXISTS Shop_Msg_Error_Type;
DROP TABLE IF EXISTS Shop_Product_Change_Set;
DO $$
BEGIN
RAISE NOTICE 'TABLE DELETION COMPLETE';
END $$;
DROP FUNCTION IF EXISTS fn_shop_user_eval;
DROP FUNCTION IF EXISTS p_shop_user_eval;
DROP PROCEDURE IF EXISTS fn_shop_user_eval;
DROP PROCEDURE IF EXISTS p_shop_user_eval;
DROP FUNCTION IF EXISTS fn_shop_save_product;
DROP FUNCTION IF EXISTS p_shop_save_product;
DROP PROCEDURE IF EXISTS fn_shop_save_product;
DROP PROCEDURE IF EXISTS p_shop_save_product;
DROP FUNCTION IF EXISTS fn_shop_save_supplier;
DROP FUNCTION IF EXISTS p_shop_save_supplier;
DROP PROCEDURE IF EXISTS fn_shop_save_supplier;
DROP PROCEDURE IF EXISTS p_shop_save_supplier;
DROP FUNCTION IF EXISTS fn_shop_save_supplier_purchase_order;
DROP FUNCTION IF EXISTS p_shop_save_supplier_purchase_order;
DROP PROCEDURE IF EXISTS fn_shop_save_supplier_purchase_order;
DROP PROCEDURE IF EXISTS p_shop_save_supplier_purchase_order;
DROP FUNCTION IF EXISTS fn_shop_save_manufacturing_purchase_order;
DROP FUNCTION IF EXISTS p_shop_save_manufacturing_purchase_order;
DROP PROCEDURE IF EXISTS fn_shop_save_manufacturing_purchase_order;
DROP PROCEDURE IF EXISTS p_shop_save_manufacturing_purchase_order;
DROP FUNCTION IF EXISTS fn_shop_save_customer;
DROP FUNCTION IF EXISTS p_shop_save_customer;
DROP PROCEDURE IF EXISTS fn_shop_save_customer;
DROP PROCEDURE IF EXISTS p_shop_save_customer;
DROP FUNCTION IF EXISTS fn_shop_save_customer_sales_order;
DROP FUNCTION IF EXISTS p_shop_save_customer_sales_order;
DROP PROCEDURE IF EXISTS fn_shop_save_customer_sales_order;
DROP PROCEDURE IF EXISTS p_shop_save_customer_sales_order;
DROP FUNCTION IF EXISTS fn_shop_save_user;
DROP FUNCTION IF EXISTS p_shop_save_user;
DROP PROCEDURE IF EXISTS fn_shop_save_user;
DROP PROCEDURE IF EXISTS p_shop_save_user;
DROP FUNCTION IF EXISTS fn_shop_save_user_basket;
DROP FUNCTION IF EXISTS p_shop_save_user_basket;
DROP PROCEDURE IF EXISTS fn_shop_save_user_basket;
DROP PROCEDURE IF EXISTS p_shop_save_user_basket;
DROP FUNCTION IF EXISTS fn_shop_get_many_product;
DROP FUNCTION IF EXISTS p_shop_get_many_product;
DROP PROCEDURE IF EXISTS fn_shop_get_many_product;
DROP PROCEDURE IF EXISTS p_shop_get_many_product;
DROP FUNCTION IF EXISTS fn_shop_get_many_role_permission;
DROP FUNCTION IF EXISTS p_shop_get_many_role_permission;
DROP PROCEDURE IF EXISTS fn_shop_get_many_role_permission;
DROP PROCEDURE IF EXISTS p_shop_get_many_role_permission;
DROP FUNCTION IF EXISTS fn_shop_get_many_currency;
DROP FUNCTION IF EXISTS p_shop_get_many_currency;
DROP PROCEDURE IF EXISTS fn_shop_get_many_currency;
DROP PROCEDURE IF EXISTS p_shop_get_many_currency;
DROP FUNCTION IF EXISTS fn_shop_get_many_region;
DROP FUNCTION IF EXISTS p_shop_get_many_region;
DROP PROCEDURE IF EXISTS fn_shop_get_many_region;
DROP PROCEDURE IF EXISTS p_shop_get_many_region;
DROP FUNCTION IF EXISTS fn_shop_get_many_user_order;
DROP FUNCTION IF EXISTS p_shop_get_many_user_order;
DROP PROCEDURE IF EXISTS fn_shop_get_many_user_order;
DROP PROCEDURE IF EXISTS p_shop_get_many_user_order;
DROP FUNCTION IF EXISTS fn_shop_get_many_stripe_product_new;
DROP FUNCTION IF EXISTS p_shop_get_many_stripe_product_new;
DROP PROCEDURE IF EXISTS fn_shop_get_many_stripe_product_new;
DROP PROCEDURE IF EXISTS p_shop_get_many_stripe_product_new;
DROP FUNCTION IF EXISTS fn_shop_get_many_stripe_price_new;
DROP FUNCTION IF EXISTS p_shop_get_many_stripe_price_new;
DROP PROCEDURE IF EXISTS fn_shop_get_many_stripe_price_new;
DROP PROCEDURE IF EXISTS p_shop_get_many_stripe_price_new;
DROP FUNCTION IF EXISTS fn_shop_get_many_supplier;
DROP FUNCTION IF EXISTS p_shop_get_many_supplier;
DROP PROCEDURE IF EXISTS fn_shop_get_many_supplier;
DROP PROCEDURE IF EXISTS p_shop_get_many_supplier;
DROP FUNCTION IF EXISTS fn_shop_get_many_supplier_purchase_order;
DROP FUNCTION IF EXISTS p_shop_get_many_supplier_purchase_order;
DROP PROCEDURE IF EXISTS fn_shop_get_many_supplier_purchase_order;
DROP PROCEDURE IF EXISTS p_shop_get_many_supplier_purchase_order;
DROP FUNCTION IF EXISTS fn_shop_get_many_manufacturing_purchase_order;
DROP FUNCTION IF EXISTS p_shop_get_many_manufacturing_purchase_order;
DROP PROCEDURE IF EXISTS fn_shop_get_many_manufacturing_purchase_order;
DROP PROCEDURE IF EXISTS p_shop_get_many_manufacturing_purchase_order;
DROP FUNCTION IF EXISTS fn_shop_get_many_customer;
DROP FUNCTION IF EXISTS p_shop_get_many_customer;
DROP PROCEDURE IF EXISTS fn_shop_get_many_customer;
DROP PROCEDURE IF EXISTS p_shop_get_many_customer;
DROP FUNCTION IF EXISTS fn_shop_get_many_customer_sales_order;
DROP FUNCTION IF EXISTS p_shop_get_many_customer_sales_order;
DROP PROCEDURE IF EXISTS fn_shop_get_many_customer_sales_order;
DROP PROCEDURE IF EXISTS p_shop_get_many_customer_sales_order;

View File

@@ -0,0 +1,13 @@
-- Product Change Sets
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Change_Set';
CREATE TABLE Shop_Product_Change_Set (
id_change_set INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
comment VARCHAR(4000),
updated_last_on TIMESTAMP,
updated_last_by VARCHAR(100)
);

View File

@@ -0,0 +1,13 @@
-- User Change Sets
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_User_Change_Set';
CREATE TABLE IF NOT EXISTS Shop_User_Change_Set (
id_change_set INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
comment VARCHAR(4000),
updated_last_on TIMESTAMP,
updated_last_by VARCHAR(100)
);

View File

@@ -0,0 +1,21 @@
-- Access Levels
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Access_Level';
CREATE TABLE IF NOT EXISTS Shop_Access_Level (
id_access_level INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
code VARCHAR(50),
name VARCHAR(255),
priority INTEGER NOT NULL,
active BOOLEAN NOT NULL DEFAULT TRUE,
display_order INTEGER NOT NULL,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Access_Level_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,13 @@
-- Sales And Purchasing Change Sets
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Sales_And_Purchasing_Change_Set';
CREATE TABLE Shop_Sales_And_Purchasing_Change_Set (
id_change_set INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
comment VARCHAR(4000),
updated_last_on TIMESTAMP,
updated_last_by VARCHAR(100)
);

View File

@@ -0,0 +1,22 @@
-- Access Level Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Access_Level_Audit';
CREATE TABLE IF NOT EXISTS Shop_Access_Level_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_access_level INTEGER NOT NULL,
CONSTRAINT FK_Shop_Access_Level_Audit_id_access_level
FOREIGN KEY (id_access_level)
REFERENCES Shop_Access_Level(id_access_level)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(255),
value_new VARCHAR(255),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Access_Level_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,13 @@
-- Error Message Type
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Msg_Error_Type';
CREATE TABLE IF NOT EXISTS Shop_Msg_Error_Type (
id_type INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
code VARCHAR(50) NOT NULL,
name VARCHAR(200) NOT NULL,
description VARCHAR(1000)
);

View File

@@ -0,0 +1,17 @@
-- File Types
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'File_Type';
CREATE TABLE IF NOT EXISTS File_Type (
id_type INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
code VARCHAR(50),
name VARCHAR(100),
extension VARCHAR(50),
created_on TIMESTAMP,
created_by VARCHAR(100),
updated_last_on TIMESTAMP,
updated_last_by VARCHAR(100)
);

View File

@@ -0,0 +1,22 @@
-- File Type Audit
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'File_Type_Audit';
CREATE TABLE IF NOT EXISTS File_Type_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_type INTEGER NOT NULL,
CONSTRAINT FK_File_Type_Audit_id_type
FOREIGN KEY (id_type)
REFERENCES File_Type(id_type)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(100),
value_new VARCHAR(100),
created_on TIMESTAMP,
created_by VARCHAR(100),
updated_last_on TIMESTAMP,
updated_last_by VARCHAR(100)
);

View File

@@ -0,0 +1,17 @@
-- Generic / shared properties
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_General';
CREATE TABLE IF NOT EXISTS Shop_General (
id_general INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
quantity_max REAL,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT CHK_Shop_General_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Shop General Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_General_Audit';
CREATE TABLE IF NOT EXISTS Shop_General_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_general INTEGER NOT NULL,
CONSTRAINT FK_Shop_General_Audit_id_general
FOREIGN KEY (id_general)
REFERENCES Shop_General(id_general)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(100),
value_new VARCHAR(100),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_General_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,21 @@
-- Categories
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Category';
CREATE TABLE IF NOT EXISTS Shop_Category (
id_category INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
code VARCHAR(50),
name VARCHAR(255),
description VARCHAR(4000),
active BOOLEAN NOT NULL DEFAULT TRUE,
display_order INTEGER NOT NULL,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Category_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Category Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Category_Audit';
CREATE TABLE IF NOT EXISTS Shop_Category_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_category INTEGER NOT NULL,
CONSTRAINT FK_Shop_Category_Audit_id_category
FOREIGN KEY (id_category)
REFERENCES Shop_Category(id_category)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(4000),
value_new VARCHAR(4000),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Category_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,20 @@
-- Recurrence Interval
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Recurrence_Interval';
CREATE TABLE IF NOT EXISTS Shop_Recurrence_Interval (
id_interval INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
code VARCHAR(50),
name VARCHAR(255),
name_plural VARCHAR(256),
active BOOLEAN NOT NULL DEFAULT TRUE,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Recurrence_Interval_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Recurrence Interval Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Recurrence_Interval_Audit';
CREATE TABLE IF NOT EXISTS Shop_Recurrence_Interval_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_interval INTEGER NOT NULL,
CONSTRAINT FK_Shop_Recurrence_Interval_Audit_id_interval
FOREIGN KEY (id_interval)
REFERENCES Shop_Recurrence_Interval(id_interval)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(256),
value_new VARCHAR(256),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Recurrence_Interval_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,20 @@
-- Regions
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Region';
CREATE TABLE IF NOT EXISTS Shop_Region (
id_region INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
code VARCHAR(50) NOT NULL,
name VARCHAR(200) NOT NULL,
active BOOLEAN NOT NULL DEFAULT TRUE,
display_order INTEGER NOT NULL,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Region_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Region Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Region_Audit';
CREATE TABLE IF NOT EXISTS Shop_Region_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_region INTEGER NOT NULL,
CONSTRAINT FK_Shop_Region_Audit_id_region
FOREIGN KEY (id_region)
REFERENCES Shop_Region(id_region)
ON UPDATE RESTRICT,
name_field VARCHAR(64) NOT NULL,
value_prev VARCHAR(200),
value_new VARCHAR(200),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Region_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,29 @@
-- Region Branchs
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Region_Branch';
CREATE TABLE IF NOT EXISTS Shop_Region_Branch (
id_branch INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_region_parent INTEGER NOT NULL,
CONSTRAINT FK_Shop_Region_Branch_id_region_parent
FOREIGN KEY (id_region_parent)
REFERENCES Shop_Region(id_region)
ON UPDATE RESTRICT,
id_region_child INTEGER NOT NULL,
CONSTRAINT FK_Shop_Region_Branch_id_region_child
FOREIGN KEY (id_region_child)
REFERENCES Shop_Region(id_region)
ON UPDATE RESTRICT,
-- depth INTEGER NOT NULL,
active BOOLEAN NOT NULL DEFAULT TRUE,
display_order INTEGER NOT NULL,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Region_Branch_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Region Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Region_Branch_Audit';
CREATE TABLE IF NOT EXISTS Shop_Region_Branch_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_branch INTEGER NOT NULL,
CONSTRAINT FK_Shop_Region_Branch_Audit_id_branch
FOREIGN KEY (id_branch)
REFERENCES Shop_Region_Branch(id_branch)
ON UPDATE RESTRICT,
name_field VARCHAR(64) NOT NULL,
value_prev VARCHAR(10),
value_new VARCHAR(10),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Region_Branch_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,23 @@
-- Currencies
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Currency';
CREATE TABLE IF NOT EXISTS Shop_Currency (
id_currency INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
code VARCHAR(50) NOT NULL,
name VARCHAR(255) NOT NULL,
symbol VARCHAR(1) NOT NULL,
factor_from_GBP REAL NOT NULL,
active BOOLEAN NOT NULL DEFAULT TRUE,
display_order INTEGER NOT NULL,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Currency_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
ON UPDATE RESTRICT
);

View File

@@ -0,0 +1,23 @@
-- Currency Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Currency_Audit';
CREATE TABLE IF NOT EXISTS Shop_Currency_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_currency INTEGER NOT NULL,
CONSTRAINT FK_Shop_Currency_Audit_id_currency
FOREIGN KEY (id_currency)
REFERENCES Shop_Currency(id_currency)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(255),
value_new VARCHAR(255),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Currency_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
ON UPDATE RESTRICT
);

View File

@@ -0,0 +1,38 @@
-- Taxes and Surcharges
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Tax_Or_Surcharge';
CREATE TABLE Shop_Tax_Or_Surcharge (
id_tax INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
code VARCHAR(50) NOT NULL,
name VARCHAR(200) NOT NULL,
id_region_buyer INTEGER NOT NULL,
CONSTRAINT FK_Shop_Tax_Or_Surcharge_id_region_buyer
FOREIGN KEY (id_region_buyer)
REFERENCES Shop_Region(id_region),
id_region_seller INTEGER NOT NULL,
CONSTRAINT FK_Shop_Tax_Or_Surcharge_id_region_seller
FOREIGN KEY (id_region_seller)
REFERENCES Shop_Region(id_region),
id_currency INTEGER,
CONSTRAINT FK_Shop_Tax_Or_Surcharge_id_currency
FOREIGN KEY (id_currency)
REFERENCES Shop_Currency(id_currency)
ON UPDATE RESTRICT,
fixed_fee REAL NOT NULL DEFAULT 0,
multiplier REAL NOT NULL DEFAULT 1 CHECK (multiplier > 0),
apply_fixed_fee_before_multiplier BOOLEAN NOT NULL DEFAULT TRUE,
quantity_min REAL NOT NULL DEFAULT 0,
quantity_max REAL NOT NULL,
active BOOLEAN NOT NULL DEFAULT TRUE,
display_order INTEGER NOT NULL,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Tax_Or_Surcharge_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,23 @@
-- Tax Or Surcharge Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Tax_Or_Surcharge_Audit';
CREATE TABLE IF NOT EXISTS Shop_Tax_Or_Surcharge_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_tax INTEGER NOT NULL,
CONSTRAINT FK_Shop_Tax_Or_Surcharge_Audit_id_discount
FOREIGN KEY (id_tax)
REFERENCES Shop_Tax_Or_Surcharge(id_tax)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(200),
value_new VARCHAR(200),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Tax_Or_Surcharge_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
ON UPDATE RESTRICT
);

View File

@@ -0,0 +1,48 @@
-- Products
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product';
CREATE TABLE IF NOT EXISTS Shop_Product (
id_product INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
name VARCHAR(255) NOT NULL,
-- description VARCHAR(4000),
id_category INTEGER NOT NULL,
has_variations BOOLEAN NOT NULL,
/*
price_GBP_full REAL,
price_GBP_min REAL,
-- ratio_discount_overall REAL NOT NULL DEFAULT 0,
CONSTRAINT FK_Shop_Product_id_category
FOREIGN KEY (id_category)
REFERENCES Shop_Category(id_category)
ON UPDATE RESTRICT,
latency_manuf INTEGER,
quantity_min REAL,
quantity_max REAL,
quantity_step REAL,
quantity_stock REAL,
is_subscription BOOLEAN,
id_recurrence_interval INTEGER,
CONSTRAINT FK_Shop_Product_id_recurrence_interval
FOREIGN KEY (id_recurrence_interval)
REFERENCES Shop_Recurrence_Interval(id_interval),
count_recurrence_interval INTEGER,
*/
id_access_level_required INTEGER NOT NULL,
CONSTRAINT FK_Shop_Product_id_access_level_required
FOREIGN KEY (id_access_level_required)
REFERENCES Shop_Access_Level(id_access_level),
-- id_stripe_product VARCHAR(100),
-- id_stripe_price VARCHAR(100) NOT NULL,
active BOOLEAN NOT NULL DEFAULT TRUE,
display_order INTEGER NOT NULL,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Product_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Products
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Audit';
CREATE TABLE IF NOT EXISTS Shop_Product_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_product INTEGER NOT NULL,
CONSTRAINT FK_Shop_Product_Audit_id_product
FOREIGN KEY (id_product)
REFERENCES Shop_Product(id_product)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(255),
value_new VARCHAR(255),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Product_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,21 @@
-- Variation Types
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Variation_Type';
CREATE TABLE IF NOT EXISTS Shop_Variation_Type (
id_type INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
code VARCHAR(50),
name VARCHAR(255),
name_plural VARCHAR(256),
active BOOLEAN NOT NULL DEFAULT TRUE,
display_order INTEGER NOT NULL,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Variation_Type_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Variation Type Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Variation_Type_Audit';
CREATE TABLE IF NOT EXISTS Shop_Variation_Type_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_type INTEGER NOT NULL,
CONSTRAINT FK_Shop_Variation_Type_Audit_id_type
FOREIGN KEY (id_type)
REFERENCES Shop_Variation_Type(id_type)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(256),
value_new VARCHAR(256),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Variation_Type_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,25 @@
-- Variations
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Variation';
CREATE TABLE Shop_Variation (
id_variation INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_type INTEGER NOT NULL,
CONSTRAINT FK_Shop_Variation_id_type
FOREIGN KEY (id_type)
REFERENCES Shop_Variation_Type(id_type)
ON UPDATE RESTRICT,
code VARCHAR(50),
name VARCHAR(255),
active BOOLEAN NOT NULL DEFAULT TRUE,
display_order INTEGER NOT NULL,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Variation_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Variation Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Variation_Audit';
CREATE TABLE IF NOT EXISTS Shop_Variation_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_variation INTEGER NOT NULL,
CONSTRAINT FK_Shop_Variation_Audit_id_variation
FOREIGN KEY (id_variation)
REFERENCES Shop_Variation(id_variation)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(255),
value_new VARCHAR(255),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Variation_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,47 @@
-- Product Permutation
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Permutation';
CREATE TABLE IF NOT EXISTS Shop_Product_Permutation (
id_permutation INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_product INTEGER NOT NULL,
CONSTRAINT FK_Shop_Product_Variation_Link_id_product
FOREIGN KEY (id_product)
REFERENCES Shop_Product(id_product)
ON UPDATE RESTRICT,
-- name VARCHAR(255) NOT NULL,
description VARCHAR(4000) NOT NULL,
cost_local REAL NOT NULL,
id_currency_cost INTEGER NOT NULL,
profit_local_min REAL NOT NULL,
-- id_currency_profit_min INTEGER NOT NULL,
latency_manufacture INTEGER NOT NULL,
quantity_min REAL NOT NULL,
quantity_max REAL NOT NULL,
quantity_step REAL NOT NULL,
quantity_stock REAL NOT NULL,
is_subscription BOOLEAN NOT NULL,
id_recurrence_interval INTEGER,
CONSTRAINT FK_Shop_Product_Permutation_id_recurrence_interval
FOREIGN KEY (id_recurrence_interval)
REFERENCES Shop_Recurrence_Interval(id_interval),
count_recurrence_interval INTEGER,
/*
id_access_level_required INTEGER NOT NULL,
CONSTRAINT FK_Shop_Product_Permutation_id_access_level_required
FOREIGN KEY (id_access_level_required)
REFERENCES Shop_Access_Level(id_access_level),
*/
id_stripe_product VARCHAR(100) NULL,
active BOOLEAN NOT NULL DEFAULT TRUE,
display_order INTEGER NOT NULL,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Product_Variation_Link_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,23 @@
-- Product Permutation Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Permutation_Audit';
CREATE TABLE IF NOT EXISTS Shop_Product_Permutation_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_permutation INTEGER NOT NULL,
CONSTRAINT FK_Shop_Product_Permutation_Audit_id_permutation
FOREIGN KEY (id_permutation)
REFERENCES Shop_Product_Permutation(id_permutation)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(4000),
value_new VARCHAR(4000),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Product_Permutation_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
ON UPDATE RESTRICT
);

View File

@@ -0,0 +1,28 @@
-- Product Permutation Variation Link
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Permutation_Variation_Link';
CREATE TABLE IF NOT EXISTS Shop_Product_Permutation_Variation_Link (
id_link INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_permutation INTEGER NOT NULL,
CONSTRAINT FK_Shop_Product_Permutation_Variation_Link_id_permutation
FOREIGN KEY (id_permutation)
REFERENCES Shop_Product_Permutation(id_permutation)
ON UPDATE RESTRICT,
id_variation INTEGER NOT NULL,
CONSTRAINT FK_Shop_Product_Permutation_Variation_Link_id_variation
FOREIGN KEY (id_variation)
REFERENCES Shop_Variation(id_variation)
ON UPDATE RESTRICT,
active BOOLEAN NOT NULL DEFAULT TRUE,
display_order INTEGER NOT NULL,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Product_Permutation_Variation_Link_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,23 @@
-- Product Permutation Variation Link Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Permutation_Variation_Link_Audit';
CREATE TABLE IF NOT EXISTS Shop_Product_Permutation_Variation_Link_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_link INTEGER NOT NULL,
CONSTRAINT FK_Shop_Product_Permutation_Variation_Link_Audit_id_link
FOREIGN KEY (id_link)
REFERENCES Shop_Product_Permutation_Variation_Link(id_link)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(10),
value_new VARCHAR(10),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Product_Permutation_Variation_Link_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
ON UPDATE RESTRICT
);

View File

@@ -0,0 +1,40 @@
-- Product Currency Region link
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Currency_Region_Link';
CREATE TABLE IF NOT EXISTS Shop_Product_Currency_Region_Link (
id_link INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_product INTEGER NOT NULL,
CONSTRAINT FK_Shop_Product_Currency_Region_Link_id_product
FOREIGN KEY (id_product)
REFERENCES Shop_Product(id_product)
ON UPDATE RESTRICT,
id_permutation INTEGER NULL,
CONSTRAINT FK_Shop_Product_Currency_Region_Link_id_permutation
FOREIGN KEY (id_permutation)
REFERENCES Shop_Product_Permutation(id_permutation)
ON UPDATE RESTRICT,
id_currency INTEGER NOT NULL,
CONSTRAINT FK_Shop_Product_Currency_Region_Link_id_currency
FOREIGN KEY (id_currency)
REFERENCES Shop_Currency(id_currency)
ON UPDATE RESTRICT,
id_region_purchase INTEGER NOT NULL,
CONSTRAINT FK_Shop_Product_Currency_Region_Link_id_region_purchase
FOREIGN KEY (id_region_purchase)
REFERENCES Shop_Region(id_region)
ON UPDATE RESTRICT,
price_local_VAT_incl REAL NULL,
price_local_VAT_excl REAL NULL,
id_stripe_price VARCHAR(200),
active BOOLEAN NOT NULL DEFAULT TRUE,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Product_Currency_Region_Link_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Product Currency Region Link Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Currency_Region_Link_Audit';
CREATE TABLE IF NOT EXISTS Shop_Product_Currency_Region_Link_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_link INTEGER NOT NULL,
CONSTRAINT FK_Shop_Product_Currency_Region_Link_Audit_id_link
FOREIGN KEY (id_link)
REFERENCES Shop_Product_Currency_Region_Link(id_link)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(10),
value_new VARCHAR(10),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Product_Currency_Region_Link_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,21 @@
-- Image Types
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Image_Type';
CREATE TABLE IF NOT EXISTS Shop_Image_Type (
id_type INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
code VARCHAR(50),
name VARCHAR(255),
name_plural VARCHAR(256),
active BOOLEAN NOT NULL DEFAULT TRUE,
display_order INTEGER NOT NULL,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Image_Type_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Image Type Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Image_Type_Audit';
CREATE TABLE IF NOT EXISTS Shop_Image_Type_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_type INTEGER NOT NULL,
CONSTRAINT FK_Shop_Image_Type_Audit_id_type
FOREIGN KEY (id_type)
REFERENCES Shop_Image_Type(id_type)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(256),
value_new VARCHAR(256),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Image_Type_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,35 @@
-- Images
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Image';
CREATE TABLE IF NOT EXISTS Shop_Image (
id_image INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_type_image INTEGER NOT NULL,
CONSTRAINT FK_Shop_Image_id_type_image
FOREIGN KEY (id_type_image)
REFERENCES Shop_Image_Type(id_type),
id_type_file INTEGER NOT NULL,
CONSTRAINT FK_Shop_Image_id_type_file
FOREIGN KEY (id_type_file)
REFERENCES File_Type(id_type),
id_product INTEGER NULL,
CONSTRAINT FK_Shop_Image_id_product
FOREIGN KEY (id_product)
REFERENCES Shop_Product(id_product),
id_permutation INTEGER NULL,
CONSTRAINT FK_Shop_Image_id_permutation
FOREIGN KEY (id_permutation)
REFERENCES Shop_Product_Permutation(id_permutation),
url VARCHAR(255),
active BOOLEAN NOT NULL DEFAULT TRUE,
display_order INTEGER NOT NULL,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Image_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,21 @@
-- Image Type Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Image_Audit';
CREATE TABLE IF NOT EXISTS Shop_Image_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_image INTEGER NOT NULL,
CONSTRAINT FK_Shop_Image_Audit_id_image
FOREIGN KEY (id_image)
REFERENCES Shop_Image(id_image),
name_field VARCHAR(50),
value_prev VARCHAR(10),
value_new VARCHAR(10),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Image_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,25 @@
-- Delivery Options
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Delivery_Option';
CREATE TABLE IF NOT EXISTS Shop_Delivery_Option (
id_option INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
code VARCHAR(50) NOT NULL,
name VARCHAR(100) NOT NULL,
description VARCHAR(4000),
latency_delivery_min INTEGER NOT NULL,
latency_delivery_max INTEGER NOT NULL,
quantity_min INTEGER NOT NULL,
quantity_max INTEGER NOT NULL,
active BOOLEAN NOT NULL DEFAULT TRUE,
display_order INTEGER NOT NULL,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Delivery_Option_Type_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Delivery Option Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Delivery_Option_Audit';
CREATE TABLE IF NOT EXISTS Shop_Delivery_Option_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_option INTEGER NOT NULL,
CONSTRAINT FK_Shop_Delivery_Option_Audit_id_option
FOREIGN KEY (id_option)
REFERENCES Shop_Delivery_Option(id_option)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(4000),
value_new VARCHAR(4000),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Delivery_Option_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,44 @@
-- Delivery Option
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Delivery_Option_Link';
CREATE TABLE IF NOT EXISTS Shop_Product_Delivery_Option_Link (
id_link INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_product INTEGER NOT NULL,
CONSTRAINT FK_Shop_Product_Delivery_Option_Link_id_product
FOREIGN KEY (id_product)
REFERENCES Shop_Product(id_product)
ON UPDATE RESTRICT,
id_permutation INTEGER,
CONSTRAINT FK_Shop_Product_Delivery_Option_Link_id_permutation
FOREIGN KEY (id_permutation)
REFERENCES Shop_Product_Permutation(id_permutation)
ON UPDATE RESTRICT,
id_delivery_option INTEGER NOT NULL,
CONSTRAINT FK_Shop_Product_Delivery_Option_Link_id_delivery_option
FOREIGN KEY (id_delivery_option)
REFERENCES Shop_Delivery_Option(id_option)
ON UPDATE RESTRICT,
id_region INTEGER NOT NULL,
CONSTRAINT FK_Shop_Product_Delivery_Option_Link_id_region
FOREIGN KEY (id_region)
REFERENCES Shop_Region(id_region)
ON UPDATE RESTRICT,
id_currency INTEGER NOT NULL,
CONSTRAINT FK_Shop_Product_Delivery_Option_Link_id_currency
FOREIGN KEY (id_currency)
REFERENCES Shop_Currency(id_currency)
ON UPDATE RESTRICT,
price_local REAL NOT NULL,
active BOOLEAN NOT NULL DEFAULT TRUE,
display_order INTEGER NOT NULL,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Product_Delivery_Option_Link_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Delivery Option Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Delivery_Option_Link_Audit';
CREATE TABLE IF NOT EXISTS Shop_Product_Delivery_Option_Link_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_link INTEGER NOT NULL,
CONSTRAINT FK_Shop_Product_Delivery_Option_Link_Audit_id_link
FOREIGN KEY (id_link)
REFERENCES Shop_Product_Delivery_Option_Link(id_link)
ON UPDATE RESTRICT,
name_field VARCHAR(64) NOT NULL,
value_prev VARCHAR(10),
value_new VARCHAR(10),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Product_Delivery_Option_Link_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,48 @@
-- Discounts
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Discount';
CREATE TABLE Shop_Discount (
id_discount INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
code VARCHAR(50) NOT NULL,
name VARCHAR(200) NOT NULL,
id_product INTEGER NOT NULL,
CONSTRAINT FK_Shop_Discount_id_product
FOREIGN KEY (id_product)
REFERENCES Shop_Product(id_product),
id_permutation INTEGER,
CONSTRAINT FK_Shop_Discount_id_permutation
FOREIGN KEY (id_permutation)
REFERENCES Shop_Product_Permutation(id_permutation)
ON UPDATE RESTRICT,
/*
id_delivery_region INTEGER,
CONSTRAINT FK_Shop_Discount_id_delivery_region
FOREIGN KEY (id_delivery_region)
REFERENCES Shop_Delivery_Region(id_region)
ON UPDATE RESTRICT,
id_currency INTEGER,
CONSTRAINT FK_Shop_Discount_id_currency
FOREIGN KEY (id_currency)
REFERENCES Shop_Currency(id_currency)
ON UPDATE RESTRICT,
*/
multiplier REAL NOT NULL DEFAULT 1 CHECK (multiplier > 0),
subtractor REAL NOT NULL DEFAULT 0,
apply_multiplier_first BOOLEAN NOT NULL DEFAULT TRUE,
quantity_min REAL NOT NULL DEFAULT 0,
quantity_max REAL NOT NULL,
date_start TIMESTAMP NOT NULL,
date_end TIMESTAMP NOT NULL,
active BOOLEAN NOT NULL DEFAULT TRUE,
display_order INTEGER NOT NULL,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Discount_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,23 @@
-- Discount Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Discount_Audit';
CREATE TABLE IF NOT EXISTS Shop_Discount_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_discount INTEGER NOT NULL,
CONSTRAINT FK_Shop_Discount_Audit_id_discount
FOREIGN KEY (id_discount)
REFERENCES Shop_Discount(id_discount)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(200),
value_new VARCHAR(200),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Discount_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
ON UPDATE RESTRICT
);

View File

@@ -0,0 +1,32 @@
-- Discount Region Currency Link
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Discount_Region_Currency_Link';
CREATE TABLE IF NOT EXISTS Shop_Discount_Region_Currency_Link (
id_link INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_discount INTEGER NOT NULL,
CONSTRAINT FK_Shop_Discount_Region_Currency_Link_id_discount
FOREIGN KEY (id_discount)
REFERENCES Shop_Discount(id_discount)
ON UPDATE RESTRICT,
id_region INTEGER NOT NULL,
CONSTRAINT FK_Shop_Discount_Region_Currency_Link_id_region
FOREIGN KEY (id_region)
REFERENCES Shop_Region(id_region)
ON UPDATE RESTRICT,
id_currency INTEGER NOT NULL,
CONSTRAINT FK_Shop_Discount_Region_Currency_Link_id_currency
FOREIGN KEY (id_currency)
REFERENCES Shop_Currency(id_currency)
ON UPDATE RESTRICT,
active BOOLEAN NOT NULL DEFAULT TRUE,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Discount_Region_Currency_Link_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,23 @@
-- Discount Region Currency Link Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Discount_Region_Currency_Link_Audit';
CREATE TABLE IF NOT EXISTS Shop_Discount_Region_Currency_Link_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_link INTEGER NOT NULL,
CONSTRAINT FK_Shop_Discount_Region_Currency_Link_Audit_id_link
FOREIGN KEY (id_link)
REFERENCES Shop_Discount_Region_Currency_Link(id_link)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(10),
value_new VARCHAR(10),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Discount_Region_Currency_Link_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
ON UPDATE RESTRICT
);

View File

@@ -0,0 +1,21 @@
-- Permission Groups
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Permission_Group';
CREATE TABLE IF NOT EXISTS Shop_Permission_Group (
id_group INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
code VARCHAR(50),
name VARCHAR(255),
active BOOLEAN NOT NULL DEFAULT TRUE,
display_order INTEGER NOT NULL,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Permission_Group_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
ON UPDATE RESTRICT
);

View File

@@ -0,0 +1,23 @@
-- Permission Group Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Permission_Group_Audit';
CREATE TABLE IF NOT EXISTS Shop_Permission_Group_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_group INTEGER NOT NULL,
CONSTRAINT FK_Shop_Permission_Group_Audit_id_group
FOREIGN KEY (id_group)
REFERENCES Shop_Permission_Group(id_group)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(255),
value_new VARCHAR(255),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Permission_Group_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
ON UPDATE RESTRICT
);

View File

@@ -0,0 +1,29 @@
-- Permissions
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Permission';
CREATE TABLE IF NOT EXISTS Shop_Permission (
id_permission INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
code VARCHAR(50),
name VARCHAR(255),
id_permission_group INTEGER NOT NULL,
CONSTRAINT FK_Shop_Permission_id_permission_group
FOREIGN KEY (id_permission_group)
REFERENCES Shop_Permission_Group(id_group)
ON UPDATE RESTRICT,
id_access_level_required INTEGER NOT NULL,
CONSTRAINT FK_Shop_Permission_id_access_level_required
FOREIGN KEY (id_access_level_required)
REFERENCES Shop_Access_Level(id_access_level),
active BOOLEAN NOT NULL DEFAULT TRUE,
display_order INTEGER NOT NULL,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Permission_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,23 @@
-- Permission Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Permission_Audit';
CREATE TABLE IF NOT EXISTS Shop_Permission_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_permission INTEGER NOT NULL,
CONSTRAINT FK_Shop_Permission_Audit_id_permission
FOREIGN KEY (id_permission)
REFERENCES Shop_Permission(id_permission)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(255),
value_new VARCHAR(255),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Permission_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
ON UPDATE RESTRICT
);

View File

@@ -0,0 +1,20 @@
-- Roles
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Role';
CREATE TABLE IF NOT EXISTS Shop_Role (
id_role INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
code VARCHAR(50),
name VARCHAR(255),
active BOOLEAN NOT NULL DEFAULT TRUE,
display_order INTEGER NOT NULL,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Role_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,23 @@
-- Role Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Role_Audit';
CREATE TABLE Shop_Role_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_role INTEGER NOT NULL,
CONSTRAINT FK_Shop_Role_Audit_id_role
FOREIGN KEY (id_role)
REFERENCES Shop_Role(id_role)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(255),
value_new VARCHAR(255),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Role_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
ON UPDATE RESTRICT
);

View File

@@ -0,0 +1,31 @@
-- Role Permission link
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Role_Permission_Link';
CREATE TABLE IF NOT EXISTS Shop_Role_Permission_Link (
id_link INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_role INTEGER,
CONSTRAINT FK_Shop_Role_Permission_Link_id_role
FOREIGN KEY (id_role)
REFERENCES Shop_Role(id_role)
ON UPDATE RESTRICT,
id_permission INTEGER,
CONSTRAINT FK_Shop_Role_Permission_Link_id_permission
FOREIGN KEY (id_permission)
REFERENCES Shop_Permission(id_permission)
ON UPDATE RESTRICT,
id_access_level INTEGER,
CONSTRAINT FK_Shop_Role_Permission_Link_id_access_level
FOREIGN KEY (id_access_level)
REFERENCES Shop_Access_Level(id_access_level),
active BOOLEAN NOT NULL DEFAULT TRUE,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Role_Permission_Link_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Role Permission link Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Role_Permission_Link_Audit';
CREATE TABLE IF NOT EXISTS Shop_Role_Permission_Link_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_link INTEGER NOT NULL,
CONSTRAINT FK_Shop_Role_Permission_Link_Audit_id_link
FOREIGN KEY (id_link)
REFERENCES Shop_Role_Permission_Link(id_link)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(10),
value_new VARCHAR(10),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Role_Permission_Link_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Users
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_User';
CREATE TABLE IF NOT EXISTS Shop_User (
id_user INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_user_oauth VARCHAR(200) NOT NULL,
name VARCHAR(255) NOT NULL,
email VARCHAR(254) NOT NULL,
is_email_verified BOOLEAN NOT NULL DEFAULT FALSE,
is_super_user BOOLEAN NOT NULL DEFAULT FALSE,
active BOOLEAN NOT NULL DEFAULT TRUE,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_User_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,23 @@
-- User Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_User_Audit';
CREATE TABLE IF NOT EXISTS Shop_User_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_user INTEGER,
CONSTRAINT FK_Shop_User_Audit_id_user
FOREIGN KEY (id_user)
REFERENCES Shop_User(id_user)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(255),
value_new VARCHAR(255),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_User_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
ON UPDATE RESTRICT
);

View File

@@ -0,0 +1,26 @@
-- User Role link
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_User_Role_Link';
CREATE TABLE IF NOT EXISTS Shop_User_Role_Link (
id_link INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_user INTEGER,
CONSTRAINT FK_Shop_User_Role_Link_id_user
FOREIGN KEY (id_user)
REFERENCES Shop_User(id_user)
ON UPDATE RESTRICT,
id_role INTEGER NOT NULL,
CONSTRAINT FK_Shop_User_Role_Link_id_role
FOREIGN KEY (id_role)
REFERENCES Shop_Role(id_role),
active BOOLEAN NOT NULL DEFAULT TRUE,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_User_Role_Link_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- User Role Link Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_User_Role_Link_Audit';
CREATE TABLE IF NOT EXISTS Shop_User_Role_Link_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_link INTEGER NOT NULL,
CONSTRAINT FK_Shop_User_Role_Link_Audit_id_link
FOREIGN KEY (id_link)
REFERENCES Shop_User_Role_Link(id_link)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(200),
value_new VARCHAR(200),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_User_Role_Link_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,33 @@
-- Addresses
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Address';
CREATE TABLE Shop_Address (
id_address INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
/*
a_id_user INTEGER,
CONSTRAINT FK_Shop_Address_id_user
FOREIGN KEY (id_user)
REFERENCES Shop_User(id_user)
ON UPDATE RESTRICT,
*/
-- region VARCHAR(100) NOT NULL,
id_region INTEGER NOT NULL,
name_full VARCHAR(255) NOT NULL,
phone_number VARCHAR(20) NOT NULL,
postcode VARCHAR(20) NOT NULL,
address_line_1 VARCHAR(100) NOT NULL,
address_line_2 VARCHAR(100) NOT NULL,
city VARCHAR(50) NOT NULL,
county VARCHAR(100) NOT NULL,
active BOOLEAN NOT NULL DEFAULT TRUE,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Address_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,23 @@
-- Address Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Address_Audit';
CREATE TABLE IF NOT EXISTS Shop_Address_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_address INTEGER NOT NULL,
CONSTRAINT FK_Shop_Address_Audit_id_address
FOREIGN KEY (id_address)
REFERENCES Shop_Address(id_address)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(255),
value_new VARCHAR(255),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Address_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
ON UPDATE RESTRICT
);

View File

@@ -0,0 +1,39 @@
-- User Basket (Product Link)
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_User_Basket';
CREATE TABLE IF NOT EXISTS Shop_User_Basket (
id_item INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_user INTEGER,
CONSTRAINT FK_Shop_User_Basket_id_user
FOREIGN KEY (id_user)
REFERENCES Shop_User(id_user)
ON UPDATE RESTRICT,
id_product INTEGER NOT NULL,
CONSTRAINT FK_Shop_User_Basket_id_product
FOREIGN KEY (id_product)
REFERENCES Shop_Product(id_product)
ON UPDATE RESTRICT,
id_permutation INTEGER,
CONSTRAINT FK_Shop_User_Basket_id_permutation
FOREIGN KEY (id_permutation)
REFERENCES Shop_Product_Permutation(id_permutation)
ON UPDATE RESTRICT,
quantity INTEGER NOT NULL,
active BOOLEAN NOT NULL DEFAULT TRUE,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set_user INTEGER,
CONSTRAINT FK_Shop_User_Basket_id_change_set_user
FOREIGN KEY (id_change_set_user)
REFERENCES Shop_User_Change_Set(id_change_set)
/*
id_change_set_product INTEGER,
CONSTRAINT FK_Shop_User_Basket_id_change_set_product
FOREIGN KEY (id_change_set_product)
REFERENCES Shop_Product_Change_Set(id_change_set)
*/
);

View File

@@ -0,0 +1,27 @@
-- Product Basket Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_User_Basket_Audit';
CREATE TABLE IF NOT EXISTS Shop_User_Basket_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_item INTEGER NOT NULL,
CONSTRAINT FK_Shop_User_Basket_Audit_id_link
FOREIGN KEY (id_item)
REFERENCES Shop_User_Basket(id_item)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(200),
value_new VARCHAR(200),
id_change_set_user INTEGER,
CONSTRAINT FK_Shop_User_Basket_Audit_id_change_set_user
FOREIGN KEY (id_change_set_user)
REFERENCES Shop_User_Change_Set(id_change_set)
/*
id_change_set_product INTEGER,
CONSTRAINT FK_Shop_User_Basket_Audit_id_change_set_product
FOREIGN KEY (id_change_set_product)
REFERENCES Shop_Product_Change_Set(id_change_set)
*/
);

View File

@@ -0,0 +1,21 @@
-- User Order Types
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_User_Order_Status';
CREATE TABLE IF NOT EXISTS Shop_User_Order_Status (
id_status INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
code VARCHAR(50),
name VARCHAR(255),
name_plural VARCHAR(256),
active BOOLEAN NOT NULL DEFAULT TRUE,
display_order INTEGER NOT NULL,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_User_Order_Status_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Order Type Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_User_Order_Status_Audit';
CREATE TABLE IF NOT EXISTS Shop_User_Order_Status_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_status INTEGER NOT NULL,
CONSTRAINT FK_Shop_User_Order_Status_Audit_id_status
FOREIGN KEY (id_status)
REFERENCES Shop_User_Order_Status(id_status)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(256),
value_new VARCHAR(256),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_User_Order_Status_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,32 @@
-- Supplier
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Supplier';
CREATE TABLE IF NOT EXISTS Shop_Supplier (
id_supplier INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
name_company VARCHAR(255) NOT NULL,
name_contact VARCHAR(255) NULL,
department_contact VARCHAR(255) NULL,
id_address INTEGER NOT NULL,
CONSTRAINT FK_Shop_Supplier_id_address
FOREIGN KEY (id_address)
REFERENCES Shop_Address(id_address),
phone_number VARCHAR(50) NULL,
fax VARCHAR(50) NULL,
email VARCHAR(255) NOT NULL,
website VARCHAR(255) NULL,
id_currency INTEGER NOT NULL,
CONSTRAINT FK_Shop_Supplier_id_currency
FOREIGN KEY (id_currency)
REFERENCES Shop_Currency(id_currency),
active BOOLEAN NOT NULL DEFAULT TRUE,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Supplier_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Supplier Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Supplier_Audit';
CREATE TABLE IF NOT EXISTS Shop_Supplier_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_supplier INTEGER NOT NULL,
CONSTRAINT FK_Shop_Supplier_Audit_id_supplier
FOREIGN KEY (id_supplier)
REFERENCES Shop_Supplier(id_supplier)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(255),
value_new VARCHAR(255),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Supplier_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_User_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Unit of Measurement
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Unit_Measurement';
CREATE TABLE IF NOT EXISTS Shop_Unit_Measurement (
id_unit_measurement INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
name_singular VARCHAR(255) NOT NULL,
name_plural VARCHAR(256) NOT NULL,
symbol VARCHAR(50) NOT NULL,
is_base_unit BOOLEAN NOT NULL DEFAULT FALSE,
active BOOLEAN NOT NULL DEFAULT TRUE,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Unit_Measurement_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Unit of Measurement Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Unit_Measurement_Audit';
CREATE TABLE IF NOT EXISTS Shop_Unit_Measurement_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_unit_measurement INTEGER NOT NULL,
CONSTRAINT FK_Shop_Unit_Measurement_Audit_id_unit_measurement
FOREIGN KEY (id_unit_measurement)
REFERENCES Shop_Unit_Measurement(id_unit_measurement)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(256),
value_new VARCHAR(256),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Unit_Measurement_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Unit of Measurement Conversion
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Unit_Measurement_Conversion';
CREATE TABLE IF NOT EXISTS Shop_Unit_Measurement_Conversion (
id_conversion INTEGER NOT NULL PRIMARY KEY,
id_unit_derived INTEGER NOT NULL,
id_unit_base INTEGER NOT NULL,
power_unit_base REAL NOT NULL,
multiplier_unit_base REAL NOT NULL,
increment_unit_base REAL NOT NULL,
active BOOLEAN NOT NULL DEFAULT TRUE,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Unit_Measurement_Conversion_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Unit of Measurement Conversion Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Unit_Measurement_Conversion_Audit';
CREATE TABLE IF NOT EXISTS Shop_Unit_Measurement_Conversion_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_conversion INTEGER NOT NULL,
CONSTRAINT FK_Shop_Unit_Measurement_Conversion_Audit_id_conversion
FOREIGN KEY (id_conversion)
REFERENCES Shop_Unit_Measurement_Conversion(id_conversion)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(100),
value_new VARCHAR(100),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Unit_Measurement_Conversion_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Product_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,41 @@
-- Supplier Purchase Order
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Supplier_Purchase_Order';
CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order (
id_order INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_supplier_ordered INTEGER NOT NULL,
CONSTRAINT FK_Shop_Supplier_Purchase_Order_id_supplier_ordered
FOREIGN KEY (id_supplier_ordered)
REFERENCES Shop_Supplier(id_supplier),
/*
id_supplier_fulfilled INTEGER NOT NULL,
CONSTRAINT FK_Shop_Supplier_Purchase_Order_id_supplier_fulfilled
FOREIGN KEY (id_supplier_fulfilled)
REFERENCES Shop_Supplier(id_supplier),
*/
cost_total_local REAL NOT NULL,
id_currency_cost INTEGER NOT NULL,
/*
latency_delivery INTEGER NOT NULL,
quantity_ordered REAL NOT NULL,
id_unit_quantity INTEGER NOT NULL,
CONSTRAINT FK_Shop_Supplier_Purchase_Order_id_unit_quantity
FOREIGN KEY (id_unit_quantity)
REFERENCES Shop_Unit_Measurement(id_unit),
-- quantity_received INTEGER NULL,
display_order INTEGER NOT NULL,
*/
active BOOLEAN NOT NULL DEFAULT TRUE,
created_on TIMESTAMP,
created_by VARCHAR(100),
updated_last_on TIMESTAMP NULL,
created_last_by VARCHAR(100) NULL,
id_change_set INTEGER NULL,
CONSTRAINT FK_Shop_Supplier_Purchase_Order_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Supplier Purchase Order Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Supplier_Purchase_Order_Audit';
CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_order INTEGER NOT NULL,
CONSTRAINT FK_Shop_Supplier_Purchase_Order_Audit_id_order
FOREIGN KEY (id_order)
REFERENCES Shop_Supplier_Purchase_Order(id_order)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(10),
value_new VARCHAR(10),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Supplier_Purchase_Order_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,37 @@
-- Supplier Purchase Order Product Link
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Supplier_Purchase_Order_Product_Link';
CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order_Product_Link (
id_link INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_order INTEGER NOT NULL,
CONSTRAINT FK_Shop_Supplier_Purchase_Order_Product_Link_id_order
FOREIGN KEY (id_order)
REFERENCES Shop_Supplier_Purchase_Order(id_order),
id_permutation INTEGER NOT NULL,
CONSTRAINT FK_Shop_Supplier_Purchase_Order_Product_Link_id_permutation
FOREIGN KEY (id_permutation)
REFERENCES Shop_Product_Permutation(id_permutation),
cost_total_local REAL NOT NULL,
id_currency_cost INTEGER NOT NULL,
quantity_ordered REAL NOT NULL,
id_unit_quantity INTEGER NOT NULL,
CONSTRAINT FK_Shop_Supplier_Purchase_Order_Product_Link_id_unit_quantity
FOREIGN KEY (id_unit_quantity)
REFERENCES Shop_Unit_Measurement(id_unit_measurement),
quantity_received REAL NULL,
latency_delivery_days INTEGER NOT NULL,
display_order INTEGER NOT NULL,
active BOOLEAN NOT NULL,
created_on TIMESTAMP,
created_by VARCHAR(100),
updated_last_on TIMESTAMP NULL,
created_last_by VARCHAR(100) NULL,
id_change_set INTEGER NULL,
CONSTRAINT FK_Shop_Supplier_Purchase_Order_Product_Link_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Supplier Purchase Order Product Link Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Supplier_Purchase_Order_Product_Link_Audit';
CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order_Product_Link_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_link INTEGER NOT NULL,
CONSTRAINT FK_Supplier_Purch_Order_Product_Link_Audit_id_link
FOREIGN KEY (id_link)
REFERENCES Shop_Supplier_Purchase_Order_Product_Link(id_link)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(10),
value_new VARCHAR(10),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Supplier_Purch_Order_Product_Link_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,34 @@
-- Supplier Purchase Order Product Link Temp
-- drop table Shop_Supplier_Purchase_Order_Product_Link_Temp;
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Supplier_Purchase_Order_Product_Link_Temp';
CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order_Product_Link_Temp (
id_link INTEGER NOT NULL PRIMARY KEY,
GUID UUID NOT NULL,
id_order INTEGER NOT NULL,
/*
CONSTRAINT FK_Supplier_Purchase_Order_Product_Link_Temp_id_order
FOREIGN KEY (id_order)
REFERENCES Shop_Supplier_Purchase_Order(id_order),
*/
id_permutation INTEGER NOT NULL,
CONSTRAINT FK_Supplier_Purchase_Order_Product_Link_Temp_id_permutation
FOREIGN KEY (id_permutation)
REFERENCES Shop_Product_Permutation(id_permutation),
cost_total_local REAL NOT NULL,
id_currency_cost INTEGER NOT NULL,
quantity_ordered REAL NOT NULL,
id_unit_quantity INTEGER NOT NULL,
CONSTRAINT FK_Supplier_Purchase_Order_Product_Link_Temp_id_unit_quantity
FOREIGN KEY (id_unit_quantity)
REFERENCES Shop_Unit_Measurement(id_unit_measurement),
quantity_received REAL NULL,
latency_delivery_days INTEGER NOT NULL,
display_order INTEGER NOT NULL,
active BOOLEAN NOT NULL
);

View File

@@ -0,0 +1,33 @@
-- Manufacturing Purchase Order
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Manufacturing_Purchase_Order';
CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order (
id_order INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
cost_total_local REAL NOT NULL,
id_currency_cost INTEGER NOT NULL,
value_produced_total_local REAL NOT NULL,
/*
latency_delivery INTEGER NOT NULL,
quantity_ordered REAL NOT NULL,
id_unit_quantity INTEGER NOT NULL,
CONSTRAINT FK_Shop_Manufacturing_Purchase_Order_id_unit_quantity
FOREIGN KEY (id_unit_quantity)
REFERENCES Shop_Unit_Measurement(id_unit),
quantity_received INTEGER NULL,
display_order INTEGER NOT NULL,
*/
active BOOLEAN NOT NULL DEFAULT TRUE,
created_on TIMESTAMP,
created_by VARCHAR(100),
updated_last_on TIMESTAMP NULL,
created_last_by VARCHAR(100) NULL,
id_change_set INTEGER NULL,
CONSTRAINT FK_Shop_Manufacturing_Purchase_Order_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Manufacturing Purchase Order Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Manufacturing_Purchase_Order_Audit';
CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_order INTEGER NOT NULL,
CONSTRAINT FK_Shop_Manufacturing_Purchase_Order_Audit_id_order
FOREIGN KEY (id_order)
REFERENCES Shop_Manufacturing_Purchase_Order(id_order)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(10),
value_new VARCHAR(10),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Manufacturing_Purchase_Order_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,38 @@
-- Manufacturing Purchase Order Product Link
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Manufacturing_Purchase_Order_Product_Link';
CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order_Product_Link (
id_link INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_order INTEGER NOT NULL,
CONSTRAINT FK_Manufacturing_Purchase_Order_Product_Link_id_order
FOREIGN KEY (id_order)
REFERENCES Shop_Manufacturing_Purchase_Order(id_order),
id_permutation INTEGER NOT NULL,
CONSTRAINT FK_Manufacturing_Purchase_Order_Product_Link_id_permutation
FOREIGN KEY (id_permutation)
REFERENCES Shop_Product_Permutation(id_permutation),
cost_total_local REAL NOT NULL,
id_currency_cost INTEGER NOT NULL,
value_produced_total_local REAL NOT NULL,
quantity_used REAL NOT NULL,
id_unit_quantity INTEGER NOT NULL,
CONSTRAINT FK_Manufacturing_Purchase_Order_id_unit_quantity
FOREIGN KEY (id_unit_quantity)
REFERENCES Shop_Unit_Measurement(id_unit_measurement),
latency_manufacture_days INTEGER NOT NULL,
quantity_produced REAL NOT NULL,
display_order INTEGER NOT NULL,
active BOOLEAN NOT NULL,
created_on TIMESTAMP,
created_by VARCHAR(100),
updated_last_on TIMESTAMP NULL,
created_last_by VARCHAR(100) NULL,
id_change_set INTEGER NULL,
CONSTRAINT FK_Manufacturing_Purchase_Order_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,35 @@
-- Manufacturing Purchase Order Product Link Temp
-- DROP TABLE Shop_Manufacturing_Purchase_Order_Product_Link_Temp;
-- SELECT * FROM Shop_Manufacturing_Purchase_Order_Product_Link_Temp;
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Manufacturing_Purchase_Order_Product_Link_Temp';
CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order_Product_Link_Temp (
id_link INTEGER NOT NULL PRIMARY KEY,
GUID UUID NOT NULL,
id_order INTEGER NOT NULL,
/*
CONSTRAINT FK_Manuf_Purch_Order_Product_Link_Temp_id_order
FOREIGN KEY (id_order)
REFERENCES Shop_Manufacturing_Purchase_Order(id_order),
*/
id_permutation INTEGER NOT NULL,
CONSTRAINT FK_Manuf_Purch_Order_Product_Link_Temp_id_permutation
FOREIGN KEY (id_permutation)
REFERENCES Shop_Product_Permutation(id_permutation),
cost_total_local REAL NOT NULL,
id_currency_cost INTEGER NOT NULL,
quantity_used REAL NOT NULL,
id_unit_quantity INTEGER NOT NULL,
CONSTRAINT FK_Manuf_Purch_Order_Product_Link_Temp_id_unit_quantity
FOREIGN KEY (id_unit_quantity)
REFERENCES Shop_Unit_Measurement(id_unit_measurement),
quantity_produced REAL NULL,
latency_manufacture_days INTEGER NOT NULL,
display_order INTEGER NOT NULL,
active BOOLEAN NOT NULL
);

View File

@@ -0,0 +1,22 @@
-- Manufacturing Purchase Order Product Link Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Manufacturing_Purchase_Order_Product_Link_Audit';
CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order_Product_Link_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_link INTEGER NOT NULL,
CONSTRAINT FK_Manufacturing_Purch_Order_Product_Link_Audit_id_link
FOREIGN KEY (id_link)
REFERENCES Shop_Manufacturing_Purchase_Order_Product_Link(id_link)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(10),
value_new VARCHAR(10),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Manufacturing_Purch_Order_Product_Link_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,29 @@
-- Customer
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Customer';
CREATE TABLE IF NOT EXISTS Shop_Customer (
id_customer INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
name_company VARCHAR(255) NOT NULL,
name_contact VARCHAR(255) NULL,
department_contact VARCHAR(255) NULL,
id_address INTEGER NOT NULL,
CONSTRAINT FK_Shop_Customer_id_address
FOREIGN KEY (id_address)
REFERENCES Shop_Address(id_address),
phone_number VARCHAR(50) NULL,
email VARCHAR(255) NOT NULL,
id_currency INTEGER NOT NULL,
CONSTRAINT FK_Shop_Customer_id_currency
FOREIGN KEY (id_currency)
REFERENCES Shop_Currency(id_currency),
active BOOLEAN NOT NULL DEFAULT TRUE,
created_on TIMESTAMP,
created_by VARCHAR(100),
id_change_set INTEGER,
CONSTRAINT FK_Shop_Customer_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Customer Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Customer_Audit';
CREATE TABLE IF NOT EXISTS Shop_Customer_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_customer INTEGER NOT NULL,
CONSTRAINT FK_Shop_Customer_Audit_id_customer
FOREIGN KEY (id_customer)
REFERENCES Shop_Customer(id_customer)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(255),
value_new VARCHAR(255),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Customer_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,35 @@
-- Customer Sales Purchase Order
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Customer_Sales_Order';
CREATE TABLE IF NOT EXISTS Shop_Customer_Sales_Order (
id_order INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_customer INTEGER NOT NULL,
CONSTRAINT FK_Shop_Customer_Sales_Order_id_customer
FOREIGN KEY (id_customer)
REFERENCES Shop_Customer(id_customer),
price_total_local REAL NOT NULL,
id_currency_price INTEGER NOT NULL,
/*
latency_delivery INTEGER NOT NULL,
quantity_ordered REAL NOT NULL,
id_unit_quantity INTEGER NOT NULL,
CONSTRAINT FK_Shop_Customer_Sales_Order_id_unit_quantity
FOREIGN KEY (id_unit_quantity)
REFERENCES Shop_Unit_Measurement(id_unit),
quantity_received INTEGER NULL,
display_order INTEGER NOT NULL,
*/
active BOOLEAN NOT NULL DEFAULT TRUE,
created_on TIMESTAMP,
created_by VARCHAR(100),
updated_last_on TIMESTAMP NULL,
created_last_by VARCHAR(100) NULL,
id_change_set INTEGER NULL,
CONSTRAINT FK_Shop_Customer_Sales_Order_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Customer Sales Order Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Customer_Sales_Order_Audit';
CREATE TABLE IF NOT EXISTS Shop_Customer_Sales_Order_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_order INTEGER NOT NULL,
CONSTRAINT FK_Shop_Customer_Sales_Order_Audit_id_order
FOREIGN KEY (id_order)
REFERENCES Shop_Customer_Sales_Order(id_order)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(10),
value_new VARCHAR(10),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Customer_Sales_Order_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,38 @@
-- Customer Sales Order Product Link
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Customer_Sales_Order_Product_Link';
CREATE TABLE IF NOT EXISTS Shop_Customer_Sales_Order_Product_Link (
id_link INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_order INTEGER NOT NULL,
CONSTRAINT FK_Shop_Customer_Sales_Order_Product_Link_id_order
FOREIGN KEY (id_order)
REFERENCES Shop_Customer_Sales_Order(id_order),
id_permutation INTEGER NOT NULL,
CONSTRAINT FK_Shop_Customer_Sales_Order_Product_Link_id_permutation
FOREIGN KEY (id_permutation)
REFERENCES Shop_Product_Permutation(id_permutation),
price_total_local REAL NOT NULL,
id_currency_price INTEGER NOT NULL,
quantity_ordered REAL NOT NULL,
id_unit_quantity INTEGER NOT NULL,
CONSTRAINT FK_Shop_Customer_Sales_Order_Product_Link_id_unit_quantity
FOREIGN KEY (id_unit_quantity)
REFERENCES Shop_Unit_Measurement(id_unit_measurement),
quantity_delivered REAL NOT NULL,
latency_delivery_days INTEGER NOT NULL,
display_order INTEGER NOT NULL,
active BOOLEAN NOT NULL,
created_on TIMESTAMP,
created_by VARCHAR(100),
updated_last_on TIMESTAMP NULL,
created_last_by VARCHAR(100) NULL,
id_change_set INTEGER NULL,
CONSTRAINT FK_Shop_Customer_Sales_Order_Product_Link_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,22 @@
-- Customer Sales Order Product Link Audits
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Customer_Sales_Order_Product_Link_Audit';
CREATE TABLE IF NOT EXISTS Shop_Customer_Sales_Order_Product_Link_Audit (
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
id_link INTEGER NOT NULL,
CONSTRAINT FK_Shop_Customer_Sales_Order_Product_Link_Audit_id_link
FOREIGN KEY (id_link)
REFERENCES Shop_Customer_Sales_Order_Product_Link(id_link)
ON UPDATE RESTRICT,
name_field VARCHAR(50),
value_prev VARCHAR(10),
value_new VARCHAR(10),
id_change_set INTEGER NOT NULL,
CONSTRAINT FK_Shop_Customer_Sales_Order_Product_Link_Audit_id_change_set
FOREIGN KEY (id_change_set)
REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set)
);

View File

@@ -0,0 +1,34 @@
-- Customer Sales Order Product Link Temp
-- DROP TABLE Shop_Customer_Sales_Order_Product_Link_Temp;
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Customer_Sales_Order_Product_Link_Temp';
CREATE TABLE IF NOT EXISTS Shop_Customer_Sales_Order_Product_Link_Temp (
id_link INTEGER NOT NULL PRIMARY KEY,
GUID UUID NOT NULL,
id_order INTEGER NOT NULL,
/*
CONSTRAINT FK_Customer_Sales_Order_Product_Link_Temp_id_order
FOREIGN KEY (id_order)
REFERENCES Shop_Customer_Sales_Order(id_order),
*/
id_permutation INTEGER NOT NULL,
CONSTRAINT FK_Customer_Sales_Order_Product_Link_Temp_id_permutation
FOREIGN KEY (id_permutation)
REFERENCES Shop_Product_Permutation(id_permutation),
price_total_local REAL NOT NULL,
id_currency_price INTEGER NOT NULL,
quantity_ordered REAL NOT NULL,
id_unit_quantity INTEGER NOT NULL,
CONSTRAINT FK_Customer_Sales_Order_Product_Link_Temp_id_unit_quantity
FOREIGN KEY (id_unit_quantity)
REFERENCES Shop_Unit_Measurement(id_unit_measurement),
quantity_delivered REAL NULL,
latency_delivery_days INTEGER NOT NULL,
display_order INTEGER NOT NULL,
active BOOLEAN NOT NULL
);

View File

@@ -0,0 +1,26 @@
DO $$
BEGIN
RAISE NOTICE 'TABLE CREATION COMPLETE';
END $$;
-- Product Change Set
CREATE OR REPLACE FUNCTION before_insert_Shop_Sales_And_Purchasing_Change_Set()
RETURNS TRIGGER AS $$
BEGIN
IF NEW.updated_last_on IS NULL THEN
NEW.updated_last_on = CURRENT_TIMESTAMP;
END IF;
IF NEW.updated_last_by IS NULL THEN
NEW.updated_last_by = CURRENT_USER;
END IF;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER tri_before_insert_Shop_Sales_And_Purchasing_Change_Set
BEFORE INSERT ON Shop_Sales_And_Purchasing_Change_Set
FOR EACH ROW
EXECUTE FUNCTION before_insert_Shop_Sales_And_Purchasing_Change_Set();

View File

@@ -0,0 +1,20 @@
-- Shop User Change Set
CREATE OR REPLACE FUNCTION before_insert_Shop_User_Change_Set()
RETURNS TRIGGER AS $$
BEGIN
IF NEW.updated_last_on IS NULL THEN
NEW.updated_last_on = CURRENT_TIMESTAMP;
END IF;
IF NEW.updated_last_by IS NULL THEN
NEW.updated_last_by = CURRENT_USER;
END IF;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER tri_before_insert_Shop_User_Change_Set
BEFORE INSERT ON Shop_User_Change_Set
FOR EACH ROW
EXECUTE FUNCTION before_insert_Shop_User_Change_Set();

View File

@@ -0,0 +1,66 @@
-- Shop Access Level
CREATE OR REPLACE FUNCTION before_insert_Shop_Access_Level()
RETURNS TRIGGER AS $$
BEGIN
IF NEW.created_on IS NULL THEN
NEW.created_on = CURRENT_TIMESTAMP;
END IF;
IF NEW.created_by IS NULL THEN
NEW.created_by = CURRENT_USER;
END IF;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER tri_before_insert_Shop_Access_Level
BEFORE INSERT ON Shop_Access_Level
FOR EACH ROW
EXECUTE FUNCTION before_insert_Shop_Access_Level();
CREATE OR REPLACE FUNCTION before_update_Shop_Access_Level()
RETURNS TRIGGER AS $$
BEGIN
IF OLD.id_change_set IS NOT DISTINCT FROM NEW.id_change_set THEN
RAISE EXCEPTION 'New change Set ID must be provided.'
USING ERRCODE = '45000';
END IF;
INSERT INTO Shop_Access_Level_Audit (
id_access_level,
name_field,
value_prev,
value_new,
id_change_set
)
-- Changed code
SELECT NEW.id_access_level, 'code', OLD.code, NEW.code, NEW.id_change_set
WHERE NOT (OLD.code <=> NEW.code)
UNION
-- Changed name
SELECT NEW.id_access_level, 'name', OLD.name, NEW.name, NEW.id_change_set
WHERE NOT (OLD.name <=> NEW.name)
UNION
-- Changed priority
SELECT NEW.id_access_level, 'priority', CONVERT(OLD.priority, CHAR), CONVERT(NEW.priority, CHAR), NEW.id_change_set
WHERE NOT (OLD.priority <=> NEW.priority)
UNION
-- Changed active
SELECT NEW.id_access_level, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
WHERE NOT (OLD.active <=> NEW.active)
UNION
-- Changed display_order
SELECT NEW.id_access_level, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set
WHERE NOT OLD.display_order <=> NEW.display_order
;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER tri_before_update_Shop_Access_Level
BEFORE UPDATE ON Shop_Access_Level
FOR EACH ROW
EXECUTE FUNCTION before_update_Shop_Access_Level();

View File

@@ -0,0 +1,22 @@
-- Product Change Set
CREATE OR REPLACE FUNCTION before_insert_Shop_Product_Change_Set()
RETURNS TRIGGER AS $$
BEGIN
IF NEW.updated_last_on IS NULL THEN
NEW.updated_last_on = CURRENT_TIMESTAMP;
END IF;
IF NEW.updated_last_by IS NULL THEN
NEW.updated_last_by = CURRENT_USER;
END IF;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER tri_before_insert_Shop_Product_Change_Set
BEFORE INSERT ON Shop_Product_Change_Set
FOR EACH ROW
EXECUTE FUNCTION before_insert_Shop_Product_Change_Set();

View File

@@ -0,0 +1,48 @@
-- File Type
CREATE OR REPLACE FUNCTION before_insert_File_Type()
RETURNS TRIGGER AS $$
BEGIN
NEW.created_on = CURRENT_TIMESTAMP;
NEW.created_by = CURRENT_USER;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER tri_before_insert_File_Type
BEFORE INSERT ON File_Type
FOR EACH ROW
EXECUTE FUNCTION before_insert_File_Type();
CREATE OR REPLACE FUNCTION before_update_File_Type()
RETURNS TRIGGER AS $$
BEGIN
INSERT INTO File_Type_Audit (
id_type,
name_field,
value_prev,
value_new
)
-- Changed code
SELECT NEW.id_type, 'code', OLD.code, NEW.code
WHERE NOT OLD.code <=> NEW.code
UNION
-- Changed name
SELECT NEW.id_type, 'name', OLD.name, NEW.name
WHERE NOT OLD.name <=> NEW.name
UNION
-- Changed extension
SELECT NEW.id_type, 'extension', CONVERT(OLD.extension, CHAR), CONVERT(NEW.extension, CHAR)
WHERE NOT OLD.extension <=> NEW.extension
;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER tri_before_update_File_Type
BEFORE UPDATE ON File_Type
FOR EACH ROW
EXECUTE FUNCTION before_update_File_Type();

View File

@@ -0,0 +1,33 @@
-- File Type Audits
CREATE OR REPLACE FUNCTION before_insert_File_Type_Audit()
RETURNS TRIGGER AS $$
BEGIN
NEW.created_on = CURRENT_TIMESTAMP;
NEW.created_by = CURRENT_USER;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER tri_before_insert_File_Type_Audit
BEFORE INSERT ON File_Type_Audit
FOR EACH ROW
EXECUTE FUNCTION before_insert_File_Type_Audit();
CREATE OR REPLACE FUNCTION before_update_File_Type_Audit()
RETURNS TRIGGER AS $$
BEGIN
NEW.updated_last_on = CURRENT_TIMESTAMP;
NEW.updated_last_by = CURRENT_USER;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER tri_before_update_File_Type_Audit
BEFORE UPDATE ON File_Type_Audit
FOR EACH ROW
EXECUTE FUNCTION before_update_File_Type_Audit();

View File

@@ -0,0 +1,47 @@
-- Shop General
CREATE OR REPLACE FUNCTION before_insert_Shop_General()
RETURNS TRIGGER AS $$
BEGIN
NEW.created_on = CURRENT_TIMESTAMP;
NEW.created_by = CURRENT_USER;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER tri_before_insert_Shop_General
BEFORE INSERT ON Shop_General
FOR EACH ROW
EXECUTE FUNCTION before_insert_Shop_General();
CREATE OR REPLACE FUNCTION before_update_Shop_General()
RETURNS TRIGGER AS $$
BEGIN
IF OLD.id_change_set IS NOT DISTINCT FROM NEW.id_change_set THEN
RAISE EXCEPTION 'New change Set ID must be provided.'
USING ERRCODE = '45000';
END IF;
INSERT INTO Shop_General_Audit (
id_general,
name_field,
value_prev,
value_new,
id_change_set
)
-- Changed quantity max
SELECT NEW.id_general, 'quantity_max', CONVERT(OLD.quantity_max, CHAR), CONVERT(NEW.quantity_max, CHAR), NEW.id_change_set
WHERE NOT OLD.quantity_max <=> NEW.quantity_max
;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER tri_before_update_Shop_General
BEFORE UPDATE ON Shop_General
FOR EACH ROW
EXECUTE FUNCTION before_update_Shop_General();

View File

@@ -0,0 +1,63 @@
-- Shop Category
CREATE OR REPLACE FUNCTION before_insert_Shop_Category()
RETURNS TRIGGER AS $$
BEGIN
NEW.created_on = CURRENT_TIMESTAMP;
NEW.created_by = CURRENT_USER;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER tri_before_insert_Shop_Category
BEFORE INSERT ON Shop_Category
FOR EACH ROW
EXECUTE FUNCTION before_insert_Shop_Category();
CREATE OR REPLACE FUNCTION before_update_Shop_Category()
RETURNS TRIGGER AS $$
BEGIN
IF OLD.id_change_set IS NOT DISTINCT FROM NEW.id_change_set THEN
RAISE EXCEPTION 'New change Set ID must be provided.'
USING ERRCODE = '45000';
END IF;
INSERT INTO Shop_Category_Audit (
id_category,
name_field,
value_prev,
value_new,
id_change_set
)
-- Changed code
SELECT NEW.id_category, 'code', OLD.code, NEW.code, NEW.id_change_set
WHERE NOT OLD.code <=> NEW.code
UNION
-- Changed name
SELECT NEW.id_category, 'name', OLD.name, NEW.name, NEW.id_change_set
WHERE NOT OLD.name <=> NEW.name
UNION
-- Changed description
SELECT NEW.id_category, 'description', OLD.description, NEW.description, NEW.id_change_set
WHERE NOT OLD.description <=> NEW.description
UNION
-- Changed active
SELECT NEW.id_category, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
WHERE NOT (OLD.active <=> NEW.active)
UNION
-- Changed display_order
SELECT NEW.id_category, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set
WHERE NOT OLD.display_order <=> NEW.display_order
;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER tri_before_update_Shop_Category
BEFORE UPDATE ON Shop_Category
FOR EACH ROW
EXECUTE FUNCTION before_update_Shop_Category();

View File

@@ -0,0 +1,59 @@
-- Shop Recurrence Interval
CREATE OR REPLACE FUNCTION before_insert_Shop_Recurrence_Interval()
RETURNS TRIGGER AS $$
BEGIN
NEW.created_on = CURRENT_TIMESTAMP;
NEW.created_by = CURRENT_USER;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER tri_before_insert_Shop_Recurrence_Interval
BEFORE INSERT ON Shop_Recurrence_Interval
FOR EACH ROW
EXECUTE FUNCTION before_insert_Shop_Recurrence_Interval();
CREATE OR REPLACE FUNCTION before_update_Shop_Recurrence_Interval()
RETURNS TRIGGER AS $$
BEGIN
IF OLD.id_change_set IS NOT DISTINCT FROM NEW.id_change_set THEN
RAISE EXCEPTION 'New change Set ID must be provided.'
USING ERRCODE = '45000';
END IF;
INSERT INTO Shop_Recurrence_Interval_Audit (
id_interval,
name_field,
value_prev,
value_new,
id_change_set
)
-- Changed code
SELECT NEW.id_interval, 'code', OLD.code, NEW.code, NEW.id_change_set
WHERE NOT OLD.code <=> NEW.code
UNION
-- Changed name
SELECT NEW.id_interval, 'name', OLD.name, NEW.name, NEW.id_change_set
WHERE NOT OLD.name <=> NEW.name
UNION
-- Changed name_plural
SELECT NEW.id_interval, 'name_plural', OLD.name_plural, NEW.name_plural, NEW.id_change_set
WHERE NOT OLD.name_plural <=> NEW.name_plural
UNION
-- Changed name
SELECT NEW.id_interval, 'active', OLD.active, NEW.active, NEW.id_change_set
WHERE NOT OLD.active <=> NEW.active
;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER tri_before_update_Shop_Recurrence_Interval
BEFORE UPDATE ON Shop_Recurrence_Interval
FOR EACH ROW
EXECUTE FUNCTION before_update_Shop_Recurrence_Interval();

View File

@@ -0,0 +1,59 @@
-- Shop Delivery Region
CREATE OR REPLACE FUNCTION before_insert_Shop_Region()
RETURNS TRIGGER AS $$
BEGIN
NEW.created_on = CURRENT_TIMESTAMP;
NEW.created_by = CURRENT_USER;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER tri_before_insert_Shop_Region
BEFORE INSERT ON Shop_Region
FOR EACH ROW
EXECUTE FUNCTION before_insert_Shop_Region();
CREATE OR REPLACE FUNCTION before_update_Shop_Region()
RETURNS TRIGGER AS $$
BEGIN
IF OLD.id_change_set IS NOT DISTINCT FROM NEW.id_change_set THEN
RAISE EXCEPTION 'New change Set ID must be provided.'
USING ERRCODE = '45000';
END IF;
INSERT INTO Shop_Region_Audit (
id_region,
name_field,
value_prev,
value_new,
id_change_set
)
-- Changed code
SELECT NEW.id_region, 'code', OLD.code, NEW.code, NEW.id_change_set
WHERE NOT OLD.code <=> NEW.code
UNION
-- Changed name
SELECT NEW.id_region, 'name', OLD.name, NEW.name, NEW.id_change_set
WHERE NOT OLD.name <=> NEW.name
UNION
-- Changed active
SELECT NEW.id_region, 'active', CONVERT(OLD.active, CHAR), CONVERT(NEW.active, CHAR), NEW.id_change_set
WHERE NOT OLD.active <=> NEW.active
UNION
-- Changed display_order
SELECT NEW.id_region, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set
WHERE NOT OLD.display_order <=> NEW.display_order
;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER tri_before_update_Shop_Region
BEFORE UPDATE ON Shop_Region
FOR EACH ROW
EXECUTE FUNCTION before_update_Shop_Region();

View File

@@ -0,0 +1,57 @@
-- Shop Region Branch
CREATE OR REPLACE FUNCTION before_insert_Shop_Region_Branch()
RETURNS TRIGGER AS $$
BEGIN
NEW.created_on = CURRENT_TIMESTAMP;
NEW.created_by = CURRENT_USER;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER tri_before_insert_Shop_Region_Branch
BEFORE INSERT ON Shop_Region_Branch
FOR EACH ROW
EXECUTE FUNCTION before_insert_Shop_Region_Branch();
CREATE OR REPLACE FUNCTION before_update_Shop_Region_Branch()
RETURNS TRIGGER AS $$
BEGIN
IF OLD.id_change_set IS NOT DISTINCT FROM NEW.id_change_set THEN
RAISE EXCEPTION 'New change Set ID must be provided.'
USING ERRCODE = '45000';
END IF;
INSERT INTO Shop_Region_Branch_Audit (
id_branch,
name_field,
value_prev,
value_new,
id_change_set
)
/*
-- Changed depth
SELECT NEW.id_branch, 'depth', CONVERT(OLD.depth, CHAR), CONVERT(NEW.depth, CHAR), NEW.id_change_set
WHERE NOT OLD.depth <=> NEW.depth
UNION
*/
-- Changed active
SELECT NEW.id_branch, 'active', CONVERT(OLD.active, CHAR), CONVERT(NEW.active, CHAR), NEW.id_change_set
WHERE NOT OLD.active <=> NEW.active
UNION
-- Changed display_order
SELECT NEW.id_branch, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set
WHERE NOT OLD.display_order <=> NEW.display_order
;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER tri_before_update_Shop_Region_Branch
BEFORE UPDATE ON Shop_Region_Branch
FOR EACH ROW
EXECUTE FUNCTION before_update_Shop_Region_Branch();

Some files were not shown because too many files have changed in this diff Show More