Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b3c22d9cf0 |
72
README.md
72
README.md
@@ -1,41 +1,55 @@
|
||||
Precision and Research Technology Systems Limited
|
||||
Website with online store
|
||||
ERP system with e-commerce store
|
||||
|
||||
Powered by flask
|
||||
|
||||
enter virtual environment:
|
||||
# Run
|
||||
1. enter virtual environment:
|
||||
python -m venv VIRTUAL_ENVIRONMENT_NAME
|
||||
|
||||
run module bundler:
|
||||
2. install required packages:
|
||||
pip install -r requirements.txt
|
||||
|
||||
3. run module bundler:
|
||||
npm run build
|
||||
|
||||
host for machine:
|
||||
4. host for machine:
|
||||
python -m flask run
|
||||
|
||||
host for local network:
|
||||
(or 4.) host for local network:
|
||||
python -m flask run --host=0.0.0.0
|
||||
|
||||
|
||||
files dedicated to each page:
|
||||
CSS
|
||||
page
|
||||
HTML
|
||||
page
|
||||
row
|
||||
JavaScript
|
||||
page
|
||||
api
|
||||
router
|
||||
base - navigation buttons
|
||||
MySQL
|
||||
get
|
||||
save
|
||||
table
|
||||
staging table
|
||||
audit table
|
||||
Python
|
||||
business object
|
||||
controller
|
||||
datastore
|
||||
form
|
||||
model
|
||||
# Code review
|
||||
Sample files:
|
||||
CSS:
|
||||
Page styles
|
||||
static/css/pages/store/supplier.css
|
||||
JavaScript:
|
||||
Page object
|
||||
static/js/pages/store/product_categories.js
|
||||
Router
|
||||
static/js/router.js
|
||||
|
||||
HTML:
|
||||
Layout template
|
||||
templates/layouts/layout.html
|
||||
Page template
|
||||
templates/pages/store/_supplier.html
|
||||
|
||||
Python:
|
||||
Business object:
|
||||
business_objects/store/product_price.py
|
||||
Controller:
|
||||
controllers/core.py
|
||||
Datastore:
|
||||
datastores/datastore_store_product_category.py
|
||||
Model:
|
||||
models/model_view_store_product_permutation.py
|
||||
|
||||
SQL:
|
||||
Table:
|
||||
static/MySQL/1403_tbl_Shop_Supplier_Address.sql
|
||||
Trigger
|
||||
static/MySQL/3000_tri_Shop_Access_Level.sql
|
||||
Save procedure
|
||||
static/MySQL/7200_p_shop_save_product_category.sql
|
||||
|
||||
@@ -14,14 +14,12 @@ Datastore for Store Product Categories
|
||||
import lib.argument_validation as av
|
||||
from business_objects.store.product_category import Product_Category_Container, Product_Category, Product_Category_Temp
|
||||
from business_objects.sql_error import SQL_Error
|
||||
# from datastores.datastore_base import Table_Shop_Product_Category, Table_Shop_Product_Category_Temp
|
||||
from datastores.datastore_store_base import DataStore_Store_Base
|
||||
from helpers.helper_app import Helper_App
|
||||
from helpers.helper_db_mysql import Helper_DB_MySQL
|
||||
# from models.model_view_store_checkout import Model_View_Store_Checkout # circular!
|
||||
from extensions import db
|
||||
# external
|
||||
# from abc import ABC, abstractmethod, abstractproperty
|
||||
from flask_sqlalchemy import SQLAlchemy
|
||||
from sqlalchemy import text
|
||||
import stripe
|
||||
@@ -40,8 +38,6 @@ class DataStore_Store_Product_Category(DataStore_Store_Base):
|
||||
_m = 'DataStore_Store_Product_Category.save_categories'
|
||||
Helper_App.console_log(f'{_m}\nstarting...')
|
||||
Helper_App.console_log(f'comment: {comment}\ncategories: {categories}')
|
||||
# av.val_str(comment, 'comment', _m)
|
||||
# av.val_list_instances(categories, 'categories', _m, Product_Category, 1)
|
||||
|
||||
guid = Helper_DB_MySQL.create_guid()
|
||||
now = datetime.now()
|
||||
@@ -50,32 +46,15 @@ class DataStore_Store_Product_Category(DataStore_Store_Base):
|
||||
id_category_new = 0
|
||||
for category in categories:
|
||||
row = Product_Category_Temp.from_product_category(category)
|
||||
# row = category.to_temporary_record()
|
||||
# id_tmp =
|
||||
if row.id_category == '':
|
||||
id_category_new -= 1
|
||||
row.id_category = id_category_new
|
||||
else:
|
||||
Helper_App.console_log(f'row.id_category: {row.id_category}')
|
||||
row.guid = guid
|
||||
# row.created_on = now
|
||||
# row.created_by = user.id_user
|
||||
rows.append(row)
|
||||
|
||||
Helper_App.console_log(f'rows: {rows}')
|
||||
"""
|
||||
cursor = db.cursor()
|
||||
Helper_App.console_log('cursor created')
|
||||
cursor.executemany(
|
||||
'INSERT INTO Shop_Product_Category_Temp (id_category, code, name, description, active, display_order, guid, created_on, created_by) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)',
|
||||
categories
|
||||
)
|
||||
Helper_App.console_log('bulk upload executed')
|
||||
db.commit()
|
||||
Helper_App.console_log('bulk upload committed')
|
||||
cursor.close()
|
||||
Helper_App.console_log('cursor closed')
|
||||
"""
|
||||
DataStore_Store_Base.upload_bulk(Product_Category_Temp.__tablename__, rows, 1000)
|
||||
|
||||
argument_dict_list = {
|
||||
@@ -92,7 +71,7 @@ class DataStore_Store_Product_Category(DataStore_Store_Base):
|
||||
Helper_App.console_log(f'raw errors: {result_set_e}')
|
||||
errors = []
|
||||
if len(result_set_e) > 0:
|
||||
errors = [SQL_Error.from_DB_record(row) for row in result_set_e] # (row[0], row[1])
|
||||
errors = [SQL_Error.from_DB_record(row) for row in result_set_e]
|
||||
for error in errors:
|
||||
Helper_App.console_log(f"Error [{error.code}]: {error.msg}")
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ from config import app_config
|
||||
|
||||
# VARIABLE INSTANTIATION
|
||||
key_secret = os.environ.get("KEY_SECRET_STRIPE")
|
||||
key_public = os.environ.get("KEY_PUBLIC_STRIPE") # 'pk_test_51OGrxlL7BuLKjoMpfpfw7bSmZZK1MhqMoQ5VhW2jUj7YtoEejO4vqnxKPiqTHHuh9U4qqkywbPCSI9TpFKtr4SYH007KHMWs68'
|
||||
key_public = os.environ.get("KEY_PUBLIC_STRIPE")
|
||||
|
||||
# METHODS
|
||||
def create_product_price():
|
||||
|
||||
@@ -1,824 +0,0 @@
|
||||
/* Store */
|
||||
|
||||
|
||||
# Drop dependencies
|
||||
# DROP PROCEDURE IF EXISTS p_shop_user_eval;
|
||||
DROP TABLE IF EXISTS User_Eval_Temp;
|
||||
|
||||
# Delete old tables
|
||||
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_Access_Level_Audit;
|
||||
DROP TABLE IF EXISTS Shop_Access_Level;
|
||||
|
||||
DROP TABLE IF EXISTS Shop_User_Change_Set;
|
||||
|
||||
|
||||
|
||||
# User Change Sets
|
||||
CREATE TABLE Shop_User_Change_Set (
|
||||
id_change_set INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
comment VARCHAR(500),
|
||||
updated_last_on DATETIME,
|
||||
updated_last_by VARCHAR(100)
|
||||
);
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_insert_Shop_User_Change_Set
|
||||
BEFORE INSERT ON Shop_User_Change_Set
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF NEW.updated_last_on <=> NULL THEN
|
||||
SET NEW.updated_last_on = NOW();
|
||||
END IF;
|
||||
IF NEW.updated_last_by <=> NULL THEN
|
||||
SET NEW.updated_last_by = CURRENT_USER();
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
SELECT * FROM Shop_User_Change_Set;
|
||||
|
||||
|
||||
|
||||
# Access Levels
|
||||
CREATE TABLE Shop_Access_Level (
|
||||
id_access_level INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
code VARCHAR(50),
|
||||
name VARCHAR(255),
|
||||
priority INT NOT NULL,
|
||||
active BIT NOT NULL DEFAULT 1,
|
||||
display_order INT NOT NULL,
|
||||
created_on DATETIME,
|
||||
created_by INT,
|
||||
id_change_set INT,
|
||||
CONSTRAINT FK_Shop_Access_Level_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_User_Change_Set(id_change_set)
|
||||
);
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_insert_Shop_Access_Level
|
||||
BEFORE INSERT ON Shop_Access_Level
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF NEW.created_on <=> NULL THEN
|
||||
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
|
||||
END IF;
|
||||
IF NEW.created_by <=> NULL THEN
|
||||
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
CREATE TABLE Shop_Access_Level_Audit (
|
||||
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
id_access_level INT 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(500),
|
||||
value_new VARCHAR(500),
|
||||
id_change_set INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_Access_Level_Audit_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_User_Change_Set(id_change_set)
|
||||
);
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_update_Shop_Access_Level
|
||||
BEFORE UPDATE ON Shop_Access_Level
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
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)
|
||||
;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
INSERT INTO Shop_Access_Level (
|
||||
display_order, code, name, priority
|
||||
)
|
||||
VALUES
|
||||
(1, 'VIEW', 'View', 3),
|
||||
(2, 'EDIT', 'Edit', 2),
|
||||
(3, 'ADMIN', 'Admin', 1)
|
||||
;
|
||||
|
||||
SELECT * FROM Shop_Access_Level;
|
||||
SELECT * FROM Shop_Access_Level_Audit;
|
||||
|
||||
|
||||
|
||||
# Permission Groups
|
||||
CREATE TABLE Shop_Permission_Group (
|
||||
id_group INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
code VARCHAR(50),
|
||||
name VARCHAR(255),
|
||||
active BIT NOT NULL DEFAULT 1,
|
||||
display_order INT NOT NULL,
|
||||
created_on DATETIME,
|
||||
created_by INT,
|
||||
id_change_set INT,
|
||||
CONSTRAINT FK_Shop_Permission_Group_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_User_Change_Set(id_change_set)
|
||||
ON UPDATE RESTRICT
|
||||
);
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_insert_Shop_Permission_Group
|
||||
BEFORE INSERT ON Shop_Permission_Group
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF NEW.created_on <=> NULL THEN
|
||||
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
|
||||
END IF;
|
||||
IF NEW.created_by <=> NULL THEN
|
||||
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
CREATE TABLE Shop_Permission_Group_Audit (
|
||||
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
id_group INT 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(500),
|
||||
value_new VARCHAR(500),
|
||||
id_change_set INT 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
|
||||
);
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_update_Shop_Permission_Group
|
||||
BEFORE UPDATE ON Shop_Permission_Group
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
INSERT INTO Shop_Permission_Group_Audit (
|
||||
id_group,
|
||||
name_field,
|
||||
value_prev,
|
||||
value_new,
|
||||
id_change_set
|
||||
)
|
||||
# Changed code
|
||||
SELECT NEW.id_group, 'code', OLD.code, NEW.code, NEW.id_change_set
|
||||
WHERE NOT OLD.code <=> NEW.code
|
||||
UNION
|
||||
# Changed name
|
||||
SELECT NEW.id_group, 'name', OLD.name, NEW.name, NEW.id_change_set
|
||||
WHERE NOT OLD.name <=> NEW.name
|
||||
UNION
|
||||
# Changed active
|
||||
SELECT NEW.id_group, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.active <=> NEW.active)
|
||||
;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
INSERT INTO Shop_Permission_Group (
|
||||
display_order, code, name
|
||||
)
|
||||
VALUES
|
||||
(1, 'STORE', 'Store Home')
|
||||
;
|
||||
|
||||
SELECT * FROM Shop_Permission_Group;
|
||||
SELECT * FROM Shop_Permission_Group_Audit;
|
||||
|
||||
|
||||
|
||||
# Permissions
|
||||
CREATE TABLE Shop_Permission (
|
||||
id_permission INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
code VARCHAR(50),
|
||||
name VARCHAR(255),
|
||||
id_permission_group INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_Permission_id_permission_group
|
||||
FOREIGN KEY (id_permission_group)
|
||||
REFERENCES Shop_Permission_Group(id_group)
|
||||
ON UPDATE RESTRICT,
|
||||
required_access_level INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_Permission_id_access_level
|
||||
FOREIGN KEY (required_access_level)
|
||||
REFERENCES Shop_Access_Level(id_access_level),
|
||||
active BIT NOT NULL DEFAULT 1,
|
||||
display_order INT NOT NULL,
|
||||
created_on DATETIME,
|
||||
created_by INT,
|
||||
id_change_set INT,
|
||||
CONSTRAINT FK_Shop_Permission_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_User_Change_Set(id_change_set)
|
||||
);
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_insert_Shop_Permission
|
||||
BEFORE INSERT ON Shop_Permission
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF NEW.created_on <=> NULL THEN
|
||||
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
|
||||
END IF;
|
||||
IF NEW.created_by <=> NULL THEN
|
||||
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
CREATE TABLE Shop_Permission_Audit (
|
||||
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
id_permission INT 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(500),
|
||||
value_new VARCHAR(500),
|
||||
id_change_set INT 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
|
||||
);
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_update_Shop_Permission
|
||||
BEFORE UPDATE ON Shop_Permission
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
INSERT INTO Shop_Permission_Audit (
|
||||
id_permission,
|
||||
name_field,
|
||||
value_prev,
|
||||
value_new,
|
||||
id_change_set
|
||||
)
|
||||
# Changed code
|
||||
SELECT NEW.id_permission, 'code', OLD.code, NEW.code, NEW.id_change_set
|
||||
WHERE NOT OLD.code <=> NEW.code
|
||||
UNION
|
||||
# Changed name
|
||||
SELECT NEW.id_permission, 'name', OLD.name, NEW.name, NEW.id_change_set
|
||||
WHERE NOT OLD.name <=> NEW.name
|
||||
UNION
|
||||
# Changed id_permission_group
|
||||
SELECT NEW.id_permission, 'id_permission_group', CONVERT(OLD.id_permission_group, CHAR), CONVERT(NEW.id_permission_group, CHAR), NEW.id_change_set
|
||||
WHERE NOT OLD.id_permission_group <=> NEW.id_permission_group
|
||||
UNION
|
||||
# Changed required_access_level
|
||||
SELECT NEW.id_permission, 'required_access_level', CONVERT(OLD.required_access_level, CHAR), CONVERT(NEW.required_access_level, CHAR), NEW.id_change_set
|
||||
WHERE NOT OLD.required_access_level <=> NEW.required_access_level
|
||||
UNION
|
||||
# Changed active
|
||||
SELECT NEW.id_permission, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.active <=> NEW.active)
|
||||
;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
INSERT INTO Shop_Permission (
|
||||
display_order, code, name, id_permission_group, required_access_level
|
||||
)
|
||||
VALUES
|
||||
(1, 'STORE_PRODUCT', 'Store Product Page', 1, 1),
|
||||
(2, 'STORE_SERVICES', 'Store Services Page', 1, 1),
|
||||
(3, 'CONTACT_US', 'Contact Us Page', 1, 1)
|
||||
;
|
||||
|
||||
SELECT * FROM Shop_Permission;
|
||||
SELECT * FROM Shop_Permission_Audit;
|
||||
|
||||
|
||||
|
||||
# Roles
|
||||
CREATE TABLE Shop_Role (
|
||||
id_role INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
code VARCHAR(50),
|
||||
name VARCHAR(255),
|
||||
active BIT NOT NULL DEFAULT 1,
|
||||
display_order INT NOT NULL,
|
||||
created_on DATETIME,
|
||||
created_by INT,
|
||||
id_change_set INT,
|
||||
CONSTRAINT FK_Shop_Role_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_User_Change_Set(id_change_set)
|
||||
);
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_insert_Shop_Role
|
||||
BEFORE INSERT ON Shop_Role
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF NEW.created_on <=> NULL THEN
|
||||
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
|
||||
END IF;
|
||||
IF NEW.created_by <=> NULL THEN
|
||||
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
CREATE TABLE Shop_Role_Audit (
|
||||
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
id_role INT 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(500),
|
||||
value_new VARCHAR(500),
|
||||
id_change_set INT 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
|
||||
);
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_update_Shop_Role
|
||||
BEFORE UPDATE ON Shop_Role
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
INSERT INTO Shop_Role_Audit (
|
||||
id_role,
|
||||
name_field,
|
||||
value_prev,
|
||||
value_new,
|
||||
id_change_set
|
||||
)
|
||||
# Changed code
|
||||
SELECT NEW.id_role, 'code', OLD.code, NEW.code, NEW.id_change_set
|
||||
WHERE NOT OLD.code <=> NEW.code
|
||||
UNION
|
||||
# Changed name
|
||||
SELECT NEW.id_role, 'name', OLD.name, NEW.name, NEW.id_change_set
|
||||
WHERE NOT OLD.name <=> NEW.name
|
||||
UNION
|
||||
# Changed active
|
||||
SELECT NEW.id_role, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.active <=> NEW.active)
|
||||
;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
INSERT INTO Shop_Role (
|
||||
display_order,
|
||||
code,
|
||||
name
|
||||
)
|
||||
VALUES
|
||||
(1, 'DIRECTOR', 'Director'),
|
||||
(2, 'USER', 'User')
|
||||
;
|
||||
|
||||
SELECT * FROM Shop_Role;
|
||||
SELECT * FROM Shop_Role_Audit;
|
||||
|
||||
|
||||
|
||||
# Role Permission link
|
||||
CREATE TABLE Shop_Role_Permission_Link (
|
||||
id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
id_role INT,
|
||||
CONSTRAINT FK_Shop_Role_Permission_Link_id_role
|
||||
FOREIGN KEY (id_role)
|
||||
REFERENCES Shop_Role(id_role)
|
||||
ON UPDATE RESTRICT,
|
||||
id_permission INT,
|
||||
CONSTRAINT FK_Shop_Role_Permission_Link_id_permission
|
||||
FOREIGN KEY (id_permission)
|
||||
REFERENCES Shop_Permission(id_permission)
|
||||
ON UPDATE RESTRICT,
|
||||
id_access_level INT,
|
||||
CONSTRAINT FK_Shop_Role_Permission_Link_id_access_level
|
||||
FOREIGN KEY (id_access_level)
|
||||
REFERENCES Shop_Access_Level(id_access_level)
|
||||
ON UPDATE RESTRICT,
|
||||
active BIT NOT NULL DEFAULT 1,
|
||||
created_on DATETIME,
|
||||
created_by INT,
|
||||
id_change_set INT,
|
||||
CONSTRAINT FK_Shop_Role_Permission_Link_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_User_Change_Set(id_change_set)
|
||||
);
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_insert_Shop_Role_Permission_Link
|
||||
BEFORE INSERT ON Shop_Role_Permission_Link
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF NEW.created_on <=> NULL THEN
|
||||
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
|
||||
END IF;
|
||||
IF NEW.created_by <=> NULL THEN
|
||||
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
CREATE TABLE Shop_Role_Permission_Link_Audit (
|
||||
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
id_link INT 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(500),
|
||||
value_new VARCHAR(500),
|
||||
id_change_set INT 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)
|
||||
ON UPDATE RESTRICT
|
||||
);
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_update_Shop_Role_Permission_Link
|
||||
BEFORE UPDATE ON Shop_Role_Permission_Link
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
INSERT INTO Shop_Role_Permission_Link_Audit (
|
||||
id_link,
|
||||
name_field,
|
||||
value_prev,
|
||||
value_new,
|
||||
id_change_set
|
||||
)
|
||||
# Changed id_role
|
||||
SELECT NEW.id_link, 'id_role', CONVERT(OLD.id_role, CHAR), CONVERT(NEW.id_role, CHAR), NEW.id_change_set
|
||||
WHERE NOT OLD.id_role <=> NEW.id_role
|
||||
UNION
|
||||
# Changed id_permission
|
||||
SELECT NEW.id_link, 'id_permission', CONVERT(OLD.id_permission, CHAR), CONVERT(NEW.id_permission, CHAR), NEW.id_change_set
|
||||
WHERE NOT OLD.id_permission <=> NEW.id_permission
|
||||
UNION
|
||||
# Changed id_access_level
|
||||
SELECT NEW.id_link, 'id_access_level', CONVERT(OLD.id_access_level, CHAR), CONVERT(NEW.id_access_level, CHAR), NEW.id_change_set
|
||||
WHERE NOT OLD.id_access_level <=> NEW.id_access_level
|
||||
UNION
|
||||
# Changed active
|
||||
SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.active <=> NEW.active)
|
||||
;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
INSERT INTO Shop_Role_Permission_Link (
|
||||
id_role, id_permission, id_access_level
|
||||
)
|
||||
VALUES
|
||||
(1, 1, 3),
|
||||
(1, 2, 3),
|
||||
(1, 3, 3),
|
||||
(2, 1, 1),
|
||||
(2, 2, 1),
|
||||
(2, 3, 1)
|
||||
;
|
||||
|
||||
SELECT * FROM Shop_Role_Permission_Link;
|
||||
SELECT * FROM Shop_Role_Permission_Link_Audit;
|
||||
|
||||
|
||||
|
||||
# Users
|
||||
CREATE TABLE Shop_User (
|
||||
id_user INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
name VARCHAR(255),
|
||||
is_super_user BIT NOT NULL DEFAULT 0,
|
||||
active BIT NOT NULL DEFAULT 1,
|
||||
created_on DATETIME,
|
||||
created_by INT,
|
||||
id_change_set INT,
|
||||
CONSTRAINT FK_Shop_User_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_User_Change_Set(id_change_set)
|
||||
);
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_insert_Shop_User
|
||||
BEFORE INSERT ON Shop_User
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF NEW.created_on <=> NULL THEN
|
||||
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
|
||||
END IF;
|
||||
IF NEW.created_by <=> NULL THEN
|
||||
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
CREATE TABLE Shop_User_Audit (
|
||||
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
id_user INT NOT NULL,
|
||||
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(500),
|
||||
value_new VARCHAR(500),
|
||||
id_change_set INT 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
|
||||
);
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_update_Shop_User
|
||||
BEFORE UPDATE ON Shop_User
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
INSERT INTO Shop_User_Audit (
|
||||
id_user,
|
||||
name_field,
|
||||
value_prev,
|
||||
value_new,
|
||||
id_change_set
|
||||
)
|
||||
# Changed name
|
||||
SELECT NEW.id_user, 'name', OLD.name, NEW.name, NEW.id_change_set
|
||||
WHERE NOT (OLD.name <=> NEW.name)
|
||||
UNION
|
||||
# Changed is_super_user
|
||||
SELECT NEW.id_user, 'is_super_user', CONVERT(CONVERT(OLD.is_super_user, SIGNED), CHAR), CONVERT(CONVERT(NEW.is_super_user, SIGNED), CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.is_super_user <=> NEW.is_super_user)
|
||||
UNION
|
||||
# Changed active
|
||||
SELECT NEW.id_user, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.active <=> NEW.active)
|
||||
;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
INSERT INTO Shop_User (
|
||||
name,
|
||||
is_super_user
|
||||
)
|
||||
VALUES (
|
||||
'Teddy',
|
||||
1
|
||||
);
|
||||
|
||||
SELECT * FROM Shop_User;
|
||||
SELECT * FROM Shop_User_Audit;
|
||||
|
||||
|
||||
|
||||
# User Role link
|
||||
CREATE TABLE Shop_User_Role_Link (
|
||||
id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
id_user INT,
|
||||
CONSTRAINT FK_Shop_User_Role_Link_id_user
|
||||
FOREIGN KEY (id_user)
|
||||
REFERENCES Shop_User(id_user)
|
||||
ON UPDATE RESTRICT,
|
||||
id_role INT,
|
||||
CONSTRAINT FK_Shop_User_Role_Link_id_role
|
||||
FOREIGN KEY (id_role)
|
||||
REFERENCES Shop_Role(id_role)
|
||||
ON UPDATE RESTRICT,
|
||||
active BIT NOT NULL DEFAULT 1,
|
||||
created_on DATETIME,
|
||||
created_by INT,
|
||||
id_change_set INT,
|
||||
CONSTRAINT FK_Shop_User_Role_Link_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_User_Change_Set(id_change_set)
|
||||
);
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_insert_Shop_User_Role_Link
|
||||
BEFORE INSERT ON Shop_User_Role_Link
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF NEW.created_on <=> NULL THEN
|
||||
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
|
||||
END IF;
|
||||
IF NEW.created_by <=> NULL THEN
|
||||
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
CREATE TABLE Shop_User_Role_Link_Audit (
|
||||
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
id_link INT 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(500),
|
||||
value_new VARCHAR(500),
|
||||
id_change_set INT 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)
|
||||
ON UPDATE RESTRICT
|
||||
);
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_update_Shop_User_Role_Link
|
||||
BEFORE UPDATE ON Shop_User_Role_Link
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
INSERT INTO Shop_User_Role_Link_Audit (
|
||||
id_link,
|
||||
name_field,
|
||||
value_prev,
|
||||
value_new,
|
||||
id_change_set
|
||||
)
|
||||
# Changed active
|
||||
SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.active <=> NEW.active)
|
||||
;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
INSERT INTO Shop_User_Role_Link (
|
||||
id_user, id_role
|
||||
)
|
||||
VALUES
|
||||
(1, 1)
|
||||
;
|
||||
|
||||
SELECT * FROM Shop_User_Role_Link;
|
||||
SELECT * FROM Shop_User_Role_Link_Audit;
|
||||
|
||||
|
||||
|
||||
# Addresses
|
||||
CREATE TABLE Shop_Address (
|
||||
id_address INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
id_user INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_Address_id_user
|
||||
FOREIGN KEY (id_user)
|
||||
REFERENCES Shop_User(id_user)
|
||||
ON UPDATE RESTRICT,
|
||||
region VARCHAR(100) 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 BIT NOT NULL DEFAULT 1,
|
||||
created_on DATETIME,
|
||||
created_by INT,
|
||||
id_change_set INT,
|
||||
CONSTRAINT FK_Shop_Address_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_User_Change_Set(id_change_set)
|
||||
);
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_insert_Shop_Address
|
||||
BEFORE INSERT ON Shop_Address
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF NEW.created_on <=> NULL THEN
|
||||
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
|
||||
END IF;
|
||||
IF NEW.created_by <=> NULL THEN
|
||||
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
CREATE TABLE Shop_Address_Audit (
|
||||
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
id_address INT 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(500),
|
||||
value_new VARCHAR(500),
|
||||
id_change_set INT 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
|
||||
);
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_update_Shop_Address
|
||||
BEFORE UPDATE ON Shop_Address
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
INSERT INTO Shop_Address_Audit (
|
||||
id_address,
|
||||
name_field,
|
||||
value_prev,
|
||||
value_new,
|
||||
id_change_set
|
||||
)
|
||||
# Changed region
|
||||
SELECT NEW.id_address, 'region', OLD.region, NEW.region, NEW.id_change_set
|
||||
WHERE NOT OLD.region <=> NEW.region
|
||||
UNION
|
||||
# Changed name_full
|
||||
SELECT NEW.id_address, 'name_full', OLD.name_full, NEW.name_full, NEW.id_change_set
|
||||
WHERE NOT OLD.name_full <=> NEW.name_full
|
||||
UNION
|
||||
# Changed phone_number
|
||||
SELECT NEW.id_address, 'phone_number', OLD.phone_number, NEW.phone_number, NEW.id_change_set
|
||||
WHERE NOT OLD.phone_number <=> NEW.phone_number
|
||||
UNION
|
||||
# Changed postcode
|
||||
SELECT NEW.id_address, 'postcode', OLD.postcode, NEW.postcode, NEW.id_change_set
|
||||
WHERE NOT OLD.postcode <=> NEW.postcode
|
||||
UNION
|
||||
# Changed address_line_1
|
||||
SELECT NEW.id_address, 'address_line_1', OLD.address_line_1, NEW.address_line_1, NEW.id_change_set
|
||||
WHERE NOT OLD.address_line_1 <=> NEW.address_line_1
|
||||
UNION
|
||||
# Changed address_line_2
|
||||
SELECT NEW.id_address, 'address_line_2', OLD.address_line_2, NEW.address_line_2, NEW.id_change_set
|
||||
WHERE NOT OLD.address_line_2 <=> NEW.address_line_2
|
||||
UNION
|
||||
# Changed city
|
||||
SELECT NEW.id_address, 'city', OLD.city, NEW.city, NEW.id_change_set
|
||||
WHERE NOT OLD.city <=> NEW.city
|
||||
UNION
|
||||
# Changed county
|
||||
SELECT NEW.id_address, 'county', OLD.county, NEW.county, NEW.id_change_set
|
||||
WHERE NOT OLD.county <=> NEW.county
|
||||
UNION
|
||||
# Changed active
|
||||
SELECT NEW.id_address, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.active <=> NEW.active)
|
||||
;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
INSERT INTO Shop_Address (
|
||||
id_user, region, name_full, phone_number, postcode, address_line_1, address_line_2, city, county
|
||||
)
|
||||
SELECT U.id_user, 'United Kingdom', U.name, '07375 571430', 'NN6 6EB', 'The Laurels', 'Cold Ashby Road', 'Cold Ashby', 'Northamptonshire'
|
||||
FROM Shop_User U;
|
||||
|
||||
SELECT * FROM Shop_Address;
|
||||
SELECT * FROM Shop_Address_Audit;
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,20 +0,0 @@
|
||||
|
||||
# Recurrence Interval
|
||||
|
||||
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Interval_Recurrence';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS Shop_Interval_Recurrence (
|
||||
id_interval INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
code VARCHAR(50),
|
||||
name VARCHAR(255),
|
||||
name_plural VARCHAR(256),
|
||||
active BIT NOT NULL DEFAULT 1,
|
||||
created_on DATETIME,
|
||||
created_by INT,
|
||||
id_change_set INT,
|
||||
CONSTRAINT FK_Shop_Interval_Recurrence_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_Product_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
# Recurrence Interval Audits
|
||||
|
||||
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Interval_Recurrence_Audit';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS Shop_Interval_Recurrence_Audit (
|
||||
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
id_interval INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_Interval_Recurrence_Audit_id_interval
|
||||
FOREIGN KEY (id_interval)
|
||||
REFERENCES Shop_Interval_Recurrence(id_interval)
|
||||
ON UPDATE RESTRICT,
|
||||
name_field VARCHAR(50),
|
||||
value_prev VARCHAR(256),
|
||||
value_new VARCHAR(256),
|
||||
id_change_set INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_Interval_Recurrence_Audit_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_Product_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,28 +0,0 @@
|
||||
|
||||
# Product Variation Type Link
|
||||
|
||||
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Variation_Type_Link';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS Shop_Product_Variation_Type_Link (
|
||||
id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
id_product INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_Product_Variation_Type_Link_id_product
|
||||
FOREIGN KEY (id_product)
|
||||
REFERENCES Shop_Product(id_product)
|
||||
ON UPDATE RESTRICT,
|
||||
id_variation_type INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_Product_Variation_Type_Link_id_variation_type
|
||||
FOREIGN KEY (id_variation_type)
|
||||
REFERENCES Shop_Variation_Type(id_type)
|
||||
ON UPDATE RESTRICT,
|
||||
active BIT NOT NULL DEFAULT 1,
|
||||
display_order INT NOT NULL,
|
||||
created_on DATETIME,
|
||||
created_by INT,
|
||||
id_change_set INT,
|
||||
CONSTRAINT FK_Shop_Product_Variation_Type_Link_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_Product_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,23 +0,0 @@
|
||||
|
||||
# Product Variation Type Link Audits
|
||||
|
||||
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Variation_Type_Link_Audit';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS Shop_Product_Variation_Type_Link_Audit (
|
||||
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
id_link INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_Product_Variation_Type_Link_Audit_id_link
|
||||
FOREIGN KEY (id_link)
|
||||
REFERENCES Shop_Product_Variation_Type_Link(id_link)
|
||||
ON UPDATE RESTRICT,
|
||||
name_field VARCHAR(50),
|
||||
value_prev VARCHAR(500),
|
||||
value_new VARCHAR(500),
|
||||
id_change_set INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_Product_Variation_Type_Link_Audit_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_Product_Change_Set(id_change_set)
|
||||
ON UPDATE RESTRICT
|
||||
);
|
||||
@@ -1,35 +0,0 @@
|
||||
|
||||
# Product Variation Link
|
||||
|
||||
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Variation_Link';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS Shop_Product_Variation_Link (
|
||||
id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
id_product INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_Product_Variation_Link_id_product
|
||||
FOREIGN KEY (id_product)
|
||||
REFERENCES Shop_Product(id_product)
|
||||
ON UPDATE RESTRICT,
|
||||
id_variation INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_Product_Variation_Link_id_variation
|
||||
FOREIGN KEY (id_variation)
|
||||
REFERENCES Shop_Variation(id_variation)
|
||||
ON UPDATE RESTRICT,
|
||||
/*
|
||||
id_product_variation_type_link INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_Product_Variation_Link_id_product_variation_type_link
|
||||
FOREIGN KEY (id_product_variation_type_link)
|
||||
REFERENCES Shop_Product_Variation_Type_Link(id_link)
|
||||
ON UPDATE RESTRICT,
|
||||
*/
|
||||
active BIT NOT NULL DEFAULT 1,
|
||||
display_order INT NOT NULL,
|
||||
created_on DATETIME,
|
||||
created_by INT,
|
||||
id_change_set INT,
|
||||
CONSTRAINT FK_Shop_Product_Variation_Link_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_Product_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,23 +0,0 @@
|
||||
|
||||
# Product Variation Link Audits
|
||||
|
||||
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Variation_Link_Audit';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS Shop_Product_Variation_Link_Audit (
|
||||
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
id_link INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_Product_Variation_Link_Audit_id_link
|
||||
FOREIGN KEY (id_link)
|
||||
REFERENCES Shop_Product_Variation_Link(id_link)
|
||||
ON UPDATE RESTRICT,
|
||||
name_field VARCHAR(50),
|
||||
value_prev VARCHAR(500),
|
||||
value_new VARCHAR(500),
|
||||
id_change_set INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_Product_Variation_Link_Audit_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_Product_Change_Set(id_change_set)
|
||||
ON UPDATE RESTRICT
|
||||
);
|
||||
@@ -1,32 +0,0 @@
|
||||
|
||||
# Product Delivery Option Link
|
||||
|
||||
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Delivery_Region_Link';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS Shop_Product_Delivery_Region_Link (
|
||||
id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
id_product INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_Product_Delivery_Region_Link_id_product
|
||||
FOREIGN KEY (id_product)
|
||||
REFERENCES Shop_Product(id_product)
|
||||
ON UPDATE RESTRICT,
|
||||
id_permutation INT,
|
||||
CONSTRAINT FK_Shop_Product_Delivery_Region_Link_id_permutation
|
||||
FOREIGN KEY (id_permutation)
|
||||
REFERENCES Shop_Product_Permutation(id_permutation)
|
||||
ON UPDATE RESTRICT,
|
||||
id_region INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_Product_Delivery_Region_Link_id_region
|
||||
FOREIGN KEY (id_region)
|
||||
REFERENCES Shop_Delivery_Region(id_region)
|
||||
ON UPDATE RESTRICT,
|
||||
active BIT NOT NULL DEFAULT 1,
|
||||
created_on DATETIME,
|
||||
created_by INT,
|
||||
id_change_set INT,
|
||||
CONSTRAINT FK_Shop_Product_Delivery_Region_Link_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_Product_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,23 +0,0 @@
|
||||
|
||||
# Product Delivery Region Link Audits
|
||||
|
||||
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Delivery_Region_Link_Audit';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS Shop_Product_Delivery_Region_Link_Audit (
|
||||
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
id_link INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_Product_Delivery_Region_Link_Audit_id_link
|
||||
FOREIGN KEY (id_link)
|
||||
REFERENCES Shop_Product_Delivery_Region_Link(id_link)
|
||||
ON UPDATE RESTRICT,
|
||||
name_field VARCHAR(50),
|
||||
value_prev VARCHAR(500),
|
||||
value_new VARCHAR(500),
|
||||
id_change_set INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_Product_Delivery_Region_Link_Audit_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_Product_Change_Set(id_change_set)
|
||||
ON UPDATE RESTRICT
|
||||
);
|
||||
@@ -1,19 +0,0 @@
|
||||
|
||||
# ERP Order
|
||||
|
||||
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'ERP_Order';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS ERP_Order (
|
||||
id_order INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
code VARCHAR(50),
|
||||
name VARCHAR(100),
|
||||
extension VARCHAR(50),
|
||||
created_on DATETIME,
|
||||
created_by INT,
|
||||
id_customer INT NOT NULL,
|
||||
CONSTRAINT FK_ERP_Order_id_customer
|
||||
FOREIGN KEY (id_customer)
|
||||
REFERENCES ERP_Customer(id_customer)
|
||||
);
|
||||
@@ -1,39 +0,0 @@
|
||||
|
||||
# User Order
|
||||
|
||||
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_User_Order';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS Shop_User_Order (
|
||||
id_order INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
id_user INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_User_Order_id_user
|
||||
FOREIGN KEY (id_user)
|
||||
REFERENCES Shop_User(id_user)
|
||||
ON UPDATE RESTRICT,
|
||||
value_total FLOAT,
|
||||
id_order_status INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_User_Order_id_order_status
|
||||
FOREIGN KEY (id_order_status)
|
||||
REFERENCES Shop_User_Order_Status(id_status),
|
||||
id_checkout_session VARCHAR(200) NOT NULL,
|
||||
id_currency INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_User_Order_id_currency
|
||||
FOREIGN KEY (id_currency)
|
||||
REFERENCES Shop_Currency(id_currency)
|
||||
ON UPDATE RESTRICT,
|
||||
active BIT NOT NULL DEFAULT 1,
|
||||
created_on DATETIME,
|
||||
created_by INT,
|
||||
id_change_set_user INT,
|
||||
CONSTRAINT FK_Shop_User_Order_id_change_set_user
|
||||
FOREIGN KEY (id_change_set_user)
|
||||
REFERENCES Shop_User_Change_Set(id_change_set)
|
||||
/*
|
||||
id_change_set_product INT,
|
||||
CONSTRAINT FK_Shop_User_Basket_id_change_set_product
|
||||
FOREIGN KEY (id_change_set_product)
|
||||
REFERENCES Shop_Product_Change_Set(id_change_set)
|
||||
*/
|
||||
);
|
||||
@@ -1,27 +0,0 @@
|
||||
|
||||
# User Order Audits
|
||||
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_User_Order_Audit';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS Shop_User_Order_Audit (
|
||||
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
id_order INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_User_Order_Audit_id_order
|
||||
FOREIGN KEY (id_order)
|
||||
REFERENCES Shop_User_Order(id_order)
|
||||
ON UPDATE RESTRICT,
|
||||
name_field VARCHAR(50),
|
||||
value_prev VARCHAR(500),
|
||||
value_new VARCHAR(500),
|
||||
id_change_set_user INT,
|
||||
CONSTRAINT FK_Shop_User_Order_Audit_id_change_set_user
|
||||
FOREIGN KEY (id_change_set_user)
|
||||
REFERENCES Shop_User_Change_Set(id_change_set)
|
||||
/*
|
||||
id_change_set_product INT,
|
||||
CONSTRAINT FK_Shop_User_Basket_Audit_id_change_set_product
|
||||
FOREIGN KEY (id_change_set_product)
|
||||
REFERENCES Shop_Product_Change_Set(id_change_set)
|
||||
*/
|
||||
);
|
||||
@@ -1,33 +0,0 @@
|
||||
|
||||
# User Order Product link
|
||||
|
||||
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_User_Order_Product_Link';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS Shop_User_Order_Product_Link (
|
||||
id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
id_order INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_User_Order_Product_Link_id_order
|
||||
FOREIGN KEY (id_order)
|
||||
REFERENCES Shop_User_Order(id_order)
|
||||
ON UPDATE RESTRICT,
|
||||
id_product INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_User_Order_Product_Link_id_product
|
||||
FOREIGN KEY (id_product)
|
||||
REFERENCES Shop_Product(id_product)
|
||||
ON UPDATE RESTRICT,
|
||||
id_permutation INT NULL,
|
||||
CONSTRAINT FK_Shop_User_Order_Product_Link_id_permutation
|
||||
FOREIGN KEY (id_permutation)
|
||||
REFERENCES Shop_Product_Permutation(id_permutation)
|
||||
ON UPDATE RESTRICT,
|
||||
quantity FLOAT NOT NULL,
|
||||
active BIT NOT NULL DEFAULT 1,
|
||||
created_on DATETIME,
|
||||
created_by INT,
|
||||
id_change_set INT,
|
||||
CONSTRAINT FK_Shop_User_Order_Product_Link_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_User_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
# User Order Product Link Audits
|
||||
|
||||
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_User_Order_Product_Link_Audit';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS Shop_User_Order_Product_Link_Audit (
|
||||
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
id_link INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_User_Order_Product_Link_Audit_id_link
|
||||
FOREIGN KEY (id_link)
|
||||
REFERENCES Shop_User_Order_Product_Link(id_link)
|
||||
ON UPDATE RESTRICT,
|
||||
name_field VARCHAR(50),
|
||||
value_prev VARCHAR(500),
|
||||
value_new VARCHAR(500),
|
||||
id_change_set INT NOT NULL,
|
||||
CONSTRAINT FK_Shop_User_Order_Product_Link_Audit_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_User_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,56 +0,0 @@
|
||||
|
||||
# Shop Recurrence Interval
|
||||
|
||||
|
||||
|
||||
|
||||
DROP TRIGGER IF EXISTS before_insert_Shop_Interval_Recurrence;
|
||||
DROP TRIGGER IF EXISTS before_update_Shop_Interval_Recurrence;
|
||||
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_insert_Shop_Interval_Recurrence
|
||||
BEFORE INSERT ON Shop_Interval_Recurrence
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
|
||||
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_update_Shop_Interval_Recurrence
|
||||
BEFORE UPDATE ON Shop_Interval_Recurrence
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF OLD.id_change_set <=> NEW.id_change_set THEN
|
||||
SIGNAL SQLSTATE '45000'
|
||||
SET MESSAGE_TEXT = 'New change Set ID must be provided.';
|
||||
END IF;
|
||||
|
||||
INSERT INTO Shop_Interval_Recurrence_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
|
||||
;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
@@ -1,61 +0,0 @@
|
||||
|
||||
# Shop Product Variation Link
|
||||
|
||||
|
||||
|
||||
DROP TRIGGER IF EXISTS before_insert_Shop_Product_Variation_Type_Link;
|
||||
DROP TRIGGER IF EXISTS before_update_Shop_Product_Variation_Type_Link;
|
||||
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_insert_Shop_Product_Variation_Type_Link
|
||||
BEFORE INSERT ON Shop_Product_Variation_Type_Link
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF NEW.created_on <=> NULL THEN
|
||||
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
|
||||
END IF;
|
||||
IF NEW.created_by <=> NULL THEN
|
||||
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_update_Shop_Product_Variation_Type_Link
|
||||
BEFORE UPDATE ON Shop_Product_Variation_Type_Link
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF OLD.id_change_set <=> NEW.id_change_set THEN
|
||||
SIGNAL SQLSTATE '45000'
|
||||
SET MESSAGE_TEXT = 'New change Set ID must be provided.';
|
||||
END IF;
|
||||
|
||||
INSERT INTO Shop_Product_Variation_Type_Link_Audit (
|
||||
id_link,
|
||||
name_field,
|
||||
value_prev,
|
||||
value_new,
|
||||
id_change_set
|
||||
)
|
||||
/*
|
||||
# Changed id_product
|
||||
SELECT NEW.id_link, 'id_product', OLD.id_product, NEW.id_product, NEW.id_change_set
|
||||
WHERE NOT OLD.id_product <=> NEW.id_product
|
||||
UNION
|
||||
# Changed id_variation
|
||||
SELECT NEW.id_link, 'id_variation', OLD.id_variation, NEW.id_variation, NEW.id_change_set
|
||||
WHERE NOT OLD.id_variation <=> NEW.id_variation
|
||||
UNION
|
||||
*/
|
||||
# Changed active
|
||||
SELECT NEW.id_link, '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_link, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.display_order <=> NEW.display_order)
|
||||
;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
@@ -1,61 +0,0 @@
|
||||
|
||||
# Shop Product Variation Link
|
||||
|
||||
|
||||
|
||||
DROP TRIGGER IF EXISTS before_insert_Shop_Product_Variation_Link;
|
||||
DROP TRIGGER IF EXISTS before_update_Shop_Product_Variation_Link;
|
||||
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_insert_Shop_Product_Variation_Link
|
||||
BEFORE INSERT ON Shop_Product_Variation_Link
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF NEW.created_on <=> NULL THEN
|
||||
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
|
||||
END IF;
|
||||
IF NEW.created_by <=> NULL THEN
|
||||
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_update_Shop_Product_Variation_Link
|
||||
BEFORE UPDATE ON Shop_Product_Variation_Link
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF OLD.id_change_set <=> NEW.id_change_set THEN
|
||||
SIGNAL SQLSTATE '45000'
|
||||
SET MESSAGE_TEXT = 'New change Set ID must be provided.';
|
||||
END IF;
|
||||
|
||||
INSERT INTO Shop_Product_Variation_Link_Audit (
|
||||
id_link,
|
||||
name_field,
|
||||
value_prev,
|
||||
value_new,
|
||||
id_change_set
|
||||
)
|
||||
/*
|
||||
# Changed id_product
|
||||
SELECT NEW.id_link, 'id_product', OLD.id_product, NEW.id_product, NEW.id_change_set
|
||||
WHERE NOT OLD.id_product <=> NEW.id_product
|
||||
UNION
|
||||
# Changed id_variation
|
||||
SELECT NEW.id_link, 'id_variation', OLD.id_variation, NEW.id_variation, NEW.id_change_set
|
||||
WHERE NOT OLD.id_variation <=> NEW.id_variation
|
||||
UNION
|
||||
*/
|
||||
# Changed active
|
||||
SELECT NEW.id_link, '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_link, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.display_order <=> NEW.display_order)
|
||||
;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
@@ -1,93 +0,0 @@
|
||||
|
||||
# Shop Product Currency Region Link
|
||||
|
||||
|
||||
|
||||
DROP TRIGGER IF EXISTS before_insert_Shop_Product_Currency_Region_Link;
|
||||
DROP TRIGGER IF EXISTS before_update_Shop_Product_Currency_Region_Link;
|
||||
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_insert_Shop_Product_Currency_Region_Link
|
||||
BEFORE INSERT ON Shop_Product_Currency_Region_Link
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF NEW.created_on <=> NULL THEN
|
||||
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
|
||||
END IF;
|
||||
IF NEW.created_by <=> NULL THEN
|
||||
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
|
||||
END IF;
|
||||
/*
|
||||
SET NEW.price_local = (
|
||||
SELECT PP.price_GBP_full * C.factor_from_GBP
|
||||
FROM Shop_Product_Permutation PP
|
||||
INNER JOIN Shop_Product P ON PP.id_product = P.id_product
|
||||
INNER JOIN Shop_Currency C ON NEW.id_currency = C.id_currency
|
||||
WHERE NEW.id_product = P.id_product
|
||||
LIMIT 1
|
||||
);
|
||||
*/
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_update_Shop_Product_Currency_Region_Link
|
||||
BEFORE UPDATE ON Shop_Product_Currency_Region_Link
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF OLD.id_change_set <=> NEW.id_change_set THEN
|
||||
SIGNAL SQLSTATE '45000'
|
||||
SET MESSAGE_TEXT = 'New change Set ID must be provided.';
|
||||
END IF;
|
||||
|
||||
/*
|
||||
SET NEW.price_local = (
|
||||
SELECT P.price_GBP_full * C.factor_from_GBP
|
||||
FROM Shop_Product P
|
||||
INNER JOIN Shop_Currency C ON NEW.id_currency = C.id_currency
|
||||
WHERE NEW.id_product = P.id_product
|
||||
LIMIT 1
|
||||
);
|
||||
*/
|
||||
|
||||
INSERT INTO Shop_Product_Currency_Region_Link_Audit (
|
||||
id_link,
|
||||
name_field,
|
||||
value_prev,
|
||||
value_new,
|
||||
id_change_set
|
||||
)
|
||||
/*
|
||||
# Changed id_product
|
||||
SELECT NEW.id_link, 'id_product', CONVERT(OLD.id_product, CHAR), CONVERT(NEW.id_product, CHAR), NEW.id_change_set
|
||||
WHERE NOT OLD.id_product <=> NEW.id_product
|
||||
UNION
|
||||
# Changed id_currency
|
||||
SELECT NEW.id_link, 'id_currency', CONVERT(OLD.id_currency, CHAR), CONVERT(NEW.id_currency, CHAR), NEW.id_change_set
|
||||
WHERE NOT OLD.id_currency <=> NEW.id_currency
|
||||
UNION
|
||||
# Changed price_local
|
||||
SELECT NEW.id_link, 'price_local', OLD.price_local, NEW.price_local, NEW.id_change_set
|
||||
WHERE NOT OLD.price_local <=> NEW.price_local
|
||||
UNION
|
||||
*/
|
||||
# Changed price_local_VAT_incl
|
||||
SELECT NEW.id_link, 'price_local_VAT_incl', OLD.price_local_VAT_incl, NEW.price_local_VAT_incl, NEW.id_change_set
|
||||
WHERE NOT OLD.price_local_VAT_incl <=> NEW.price_local_VAT_incl
|
||||
UNION
|
||||
# Changed price_local_VAT_excl
|
||||
SELECT NEW.id_link, 'price_local_VAT_excl', OLD.price_local_VAT_excl, NEW.price_local_VAT_excl, NEW.id_change_set
|
||||
WHERE NOT OLD.price_local_VAT_excl <=> NEW.price_local_VAT_excl
|
||||
UNION
|
||||
# Changed id_stripe_price
|
||||
SELECT NEW.id_link, 'id_stripe_price', OLD.id_stripe_price, NEW.id_stripe_price, NEW.id_change_set
|
||||
WHERE NOT OLD.id_stripe_price <=> NEW.id_stripe_price
|
||||
UNION
|
||||
# Changed active
|
||||
SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.active <=> NEW.active)
|
||||
;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
@@ -1,57 +0,0 @@
|
||||
|
||||
# Shop Product Delivery Region Link
|
||||
|
||||
|
||||
|
||||
DROP TRIGGER IF EXISTS before_insert_Shop_Product_Delivery_Region_Link;
|
||||
DROP TRIGGER IF EXISTS before_update_Shop_Product_Delivery_Region_Link;
|
||||
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_insert_Shop_Product_Delivery_Region_Link
|
||||
BEFORE INSERT ON Shop_Product_Delivery_Region_Link
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF NEW.created_on <=> NULL THEN
|
||||
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
|
||||
END IF;
|
||||
IF NEW.created_by <=> NULL THEN
|
||||
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_update_Shop_Product_Delivery_Region_Link
|
||||
BEFORE UPDATE ON Shop_Product_Delivery_Region_Link
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF OLD.id_change_set <=> NEW.id_change_set THEN
|
||||
SIGNAL SQLSTATE '45000'
|
||||
SET MESSAGE_TEXT = 'New change Set ID must be provided.';
|
||||
END IF;
|
||||
|
||||
INSERT INTO Shop_Product_Delivery_Region_Link_Audit (
|
||||
id_link,
|
||||
name_field,
|
||||
value_prev,
|
||||
value_new,
|
||||
id_change_set
|
||||
)
|
||||
/*
|
||||
# Changed id_product
|
||||
SELECT NEW.id_link, 'id_product', CONVERT(OLD.id_product, CHAR), CONVERT(NEW.id_product, CHAR), NEW.id_change_set
|
||||
WHERE NOT OLD.id_product <=> NEW.id_product
|
||||
UNION
|
||||
# Changed id_region
|
||||
SELECT NEW.id_link, 'id_region', CONVERT(OLD.id_region, CHAR), CONVERT(NEW.id_region, CHAR), NEW.id_change_set
|
||||
WHERE NOT OLD.id_region <=> NEW.id_region
|
||||
UNION
|
||||
*/
|
||||
# Changed active
|
||||
SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.active <=> NEW.active)
|
||||
;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
@@ -1,67 +0,0 @@
|
||||
|
||||
# Shop Product Variation Link
|
||||
|
||||
|
||||
|
||||
DROP TRIGGER IF EXISTS before_insert_Shop_User_Order;
|
||||
DROP TRIGGER IF EXISTS before_update_Shop_User_Order;
|
||||
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_insert_Shop_User_Order
|
||||
BEFORE INSERT ON Shop_User_Order
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF NEW.created_on <=> NULL THEN
|
||||
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
|
||||
END IF;
|
||||
IF NEW.created_by <=> NULL THEN
|
||||
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_update_Shop_User_Order
|
||||
BEFORE UPDATE ON Shop_User_Order
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF OLD.id_change_set_user <=> NEW.id_change_set_user THEN
|
||||
SIGNAL SQLSTATE '45000'
|
||||
SET MESSAGE_TEXT = 'New change Set ID must be provided.';
|
||||
END IF;
|
||||
IF NOT (NEW.id_checkout_session <=> OLD.id_checkout_session) THEN
|
||||
SIGNAL SQLSTATE '45000'
|
||||
SET MESSAGE_TEXT = 'Checkout session ID must not change.';
|
||||
END IF;
|
||||
|
||||
INSERT INTO Shop_User_Order_Audit (
|
||||
id_order,
|
||||
name_field,
|
||||
value_prev,
|
||||
value_new,
|
||||
id_change_set_user
|
||||
)
|
||||
# Changed id_user
|
||||
SELECT NEW.id_order, 'id_user', OLD.id_user, NEW.id_user, NEW.id_change_set_user
|
||||
WHERE NOT OLD.id_user <=> NEW.id_user
|
||||
UNION
|
||||
# Changed value_total
|
||||
SELECT NEW.id_order, 'value_total', CONVERT(OLD.value_total, CHAR), CONVERT(NEW.value_total, CHAR), NEW.id_change_set_user
|
||||
WHERE NOT (OLD.value_total <=> NEW.value_total)
|
||||
UNION
|
||||
# Changed id_order_status
|
||||
SELECT NEW.id_order, 'id_order_status', CONVERT(OLD.id_order_status, CHAR), CONVERT(NEW.id_order_status, CHAR), NEW.id_change_set_user
|
||||
WHERE NOT (OLD.id_order_status <=> NEW.id_order_status)
|
||||
UNION
|
||||
# Changed id_checkout_session
|
||||
SELECT NEW.id_order, 'id_checkout_session', OLD.id_checkout_session, NEW.id_checkout_session, NEW.id_change_set_user
|
||||
WHERE NOT (OLD.id_checkout_session <=> NEW.id_checkout_session)
|
||||
UNION
|
||||
# Changed active
|
||||
SELECT NEW.id_order, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set_user
|
||||
WHERE NOT (OLD.active <=> NEW.active)
|
||||
;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
@@ -1,55 +0,0 @@
|
||||
|
||||
# Shop User Order Product Link
|
||||
|
||||
|
||||
|
||||
DROP TRIGGER IF EXISTS before_insert_Shop_User_Order_Product_Link;
|
||||
DROP TRIGGER IF EXISTS before_update_Shop_User_Order_Product_Link;
|
||||
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_insert_Shop_User_Order_Product_Link
|
||||
BEFORE INSERT ON Shop_User_Order_Product_Link
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF NEW.created_on <=> NULL THEN
|
||||
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
|
||||
END IF;
|
||||
IF NEW.created_by <=> NULL THEN
|
||||
SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT id_user FROM Shop_User WHERE firstname = CURRENT_USER()), -1));
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_update_Shop_User_Order_Product_Link
|
||||
BEFORE UPDATE ON Shop_User_Order_Product_Link
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF OLD.id_change_set <=> NEW.id_change_set THEN
|
||||
SIGNAL SQLSTATE '45000'
|
||||
SET MESSAGE_TEXT = 'New change Set ID must be provided.';
|
||||
END IF;
|
||||
|
||||
INSERT INTO Shop_User_Order_Product_Link_Audit (
|
||||
id_link,
|
||||
name_field,
|
||||
value_prev,
|
||||
value_new,
|
||||
id_change_set
|
||||
)
|
||||
# Changed id_product
|
||||
SELECT NEW.id_link, 'active', CONVERT(OLD.id_product, CHAR), CONVERT(NEW.id_product, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.id_product <=> NEW.id_product)
|
||||
UNION
|
||||
# Changed quantity
|
||||
SELECT NEW.id_link, 'quantity', CONVERT(OLD.quantity, CHAR), CONVERT(NEW.quantity, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.quantity <=> NEW.quantity)
|
||||
UNION
|
||||
# Changed active
|
||||
SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.active <=> NEW.active)
|
||||
;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
@@ -1,131 +0,0 @@
|
||||
|
||||
|
||||
|
||||
/*
|
||||
THIS STRUCTURE DOES NOT WORK WITH MYSQL ??
|
||||
|
||||
CALL p_shop_get_many_role_permission (
|
||||
'',
|
||||
0,
|
||||
'',
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
'',
|
||||
0,
|
||||
0,
|
||||
1
|
||||
)
|
||||
|
||||
*/
|
||||
|
||||
|
||||
-- Clear previous proc
|
||||
DROP PROCEDURE IF EXISTS p_shop_get_many_role_permission;
|
||||
/*
|
||||
DROP TABLE IF EXISTS tmp_Shop_Image;
|
||||
DROP TABLE IF EXISTS tmp_Shop_Product;
|
||||
DROP TABLE IF EXISTS tmp_Shop_Variation;
|
||||
DROP TABLE IF EXISTS tmp_Shop_Product_Category;
|
||||
*/
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE p_shop_get_many_role_permission (
|
||||
a_ids_role NVARCHAR(500),
|
||||
a_get_inactive_roles BIT
|
||||
)
|
||||
BEGIN
|
||||
-- Variable declaration
|
||||
DECLARE v_has_filter_role BIT;
|
||||
DECLARE v_priority_view INT;
|
||||
DECLARE v_priority_edit INT;
|
||||
DECLARE v_priority_admin INT;
|
||||
/*
|
||||
DECLARE v_ids_product_permission VARCHAR(500);
|
||||
DECLARE v_now DATETIME;
|
||||
*/
|
||||
|
||||
-- Parse arguments + get default values
|
||||
IF a_ids_role IS NULL THEN
|
||||
SET a_ids_role = '';
|
||||
ELSE
|
||||
SET a_ids_role = TRIM(a_ids_role);
|
||||
END IF;
|
||||
IF a_get_inactive_roles IS NULL THEN
|
||||
SET a_get_inactive_roles = 0;
|
||||
END IF;
|
||||
|
||||
|
||||
-- Temporary tables
|
||||
CREATE TABLE tmp_Permission (
|
||||
id_role INT NOT NULL,
|
||||
CONSTRAINT FK_tmp_User_Permission_id_role
|
||||
FOREIGN KEY (id_role)
|
||||
REFERENCES Shop_Role(id_role),
|
||||
id_permission INT,
|
||||
CONSTRAINT FK_tmp_User_Permission_id_permission
|
||||
FOREIGN KEY (id_permission)
|
||||
REFERENCES Shop_Permission(id_permission),
|
||||
id_access_level INT,
|
||||
CONSTRAINT FK_tmp_User_Permission_id_access_level
|
||||
FOREIGN KEY (id_user)
|
||||
REFERENCES Shop_Access_Level(id_user),
|
||||
can_view BIT,
|
||||
can_edit BIT,
|
||||
can_admin BIT
|
||||
);
|
||||
|
||||
|
||||
-- Parse filters
|
||||
SET a_ids_role = REPLACE(a_ids_role, ',', '|');
|
||||
SET v_has_filter_role = CASE WHEN a_ids_role = '' THEN 0 ELSE 1 END;
|
||||
|
||||
INSERT INTO tmp_User_Permission (
|
||||
id_role,
|
||||
id_permission,
|
||||
id_access_level,
|
||||
can_view,
|
||||
can_edit,
|
||||
can_admin
|
||||
)
|
||||
SELECT U.id_user,
|
||||
U.is_super_user,
|
||||
U.is_super_user,
|
||||
U.is_super_user,
|
||||
U.is_super_user
|
||||
FROM Shop_Role R
|
||||
INNER JOIN Shop_Role_Permission_Link RPL
|
||||
ON R.id_role = RPL.id_role
|
||||
AND RPL.active
|
||||
INNER JOIN Shop_Permission PERM
|
||||
ON RPL.id_permission = PERM.id_permission
|
||||
AND PERM.active
|
||||
INNER JOIN Shop_Permission_Group PG
|
||||
ON PERM.id_permission_group = PG.id_group
|
||||
AND PG.active
|
||||
LEFT JOIN Shop_Access_Level AL
|
||||
ON RPL.id_access_level = AL.id_access_level
|
||||
AND AL.active
|
||||
WHERE
|
||||
R.id_role LIKE CONCAT('%', a_ids_role, '%')
|
||||
AND (
|
||||
PERM.required_access_level = 0
|
||||
OR AL.priority >= PERM.required_access_level
|
||||
)
|
||||
;
|
||||
|
||||
UPDATE tmp_User_Permission t_UP
|
||||
INNER JOIN Shop_Access_Level AL
|
||||
ON AL.code = 'ADMIN'
|
||||
SET t_UP.id_access_level = AL.id_access_level
|
||||
WHERE t_UP.is_super_user
|
||||
;
|
||||
|
||||
|
||||
-- Clean up
|
||||
DROP TABLE IF EXISTS tmp_Shop_Product_Category;
|
||||
DROP TABLE IF EXISTS tmp_Shop_Product;
|
||||
DROP TABLE IF EXISTS tmp_Shop_Image;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
@@ -1,285 +0,0 @@
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|
||||
CALL p_shop_get_many_user_order (
|
||||
'',
|
||||
'',
|
||||
1,
|
||||
''
|
||||
)
|
||||
|
||||
*/
|
||||
|
||||
|
||||
-- Clear previous proc
|
||||
DROP PROCEDURE IF EXISTS p_shop_get_many_user_order;
|
||||
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE p_shop_get_many_user_order (
|
||||
IN a_id_user INT,
|
||||
IN a_ids_order VARCHAR(4000),
|
||||
IN a_n_order_max INT,
|
||||
IN a_id_checkout_session VARCHAR(200)
|
||||
)
|
||||
BEGIN
|
||||
-- Argument redeclaration
|
||||
-- Variable declaration
|
||||
DECLARE v_has_filter_user BIT;
|
||||
DECLARE v_has_filter_order BIT;
|
||||
DECLARE v_has_filter_session BIT;
|
||||
DECLARE v_code_error_data VARCHAR(200);
|
||||
DECLARE v_code_error_permission VARCHAR(200);
|
||||
DECLARE v_guid BINARY(36);
|
||||
|
||||
SET v_code_error_data := (SELECT code FROM Shop_Msg_Error_Type WHERE id_type = 1);
|
||||
SET v_code_error_permission := (SELECT code FROM Shop_Msg_Error_Type WHERE id_type = 2);
|
||||
SET v_guid = UUID();
|
||||
|
||||
-- Argument validation + default values
|
||||
IF a_id_user IS NULL THEN
|
||||
SET a_id_user = '';
|
||||
ELSE
|
||||
SET a_id_user = TRIM(a_id_user);
|
||||
END IF;
|
||||
IF a_ids_order IS NULL THEN
|
||||
SET a_ids_order = '';
|
||||
ELSE
|
||||
SET a_ids_order = TRIM(a_ids_order);
|
||||
END IF;
|
||||
IF a_n_order_max IS NULL THEN
|
||||
SET a_n_order_max = 1;
|
||||
END IF;
|
||||
IF a_id_checkout_session IS NULL THEN
|
||||
SET a_id_checkout_session = '';
|
||||
ELSE
|
||||
SET a_id_checkout_session = TRIM(a_id_checkout_session);
|
||||
END IF;
|
||||
|
||||
|
||||
|
||||
-- Temporary tables
|
||||
DROP TABLE IF EXISTS tmp_Shop_User;
|
||||
DROP TABLE IF EXISTS tmp_Shop_Order;
|
||||
|
||||
CREATE TABLE tmp_Shop_User(
|
||||
id_user INT NOT NULL PRIMARY KEY,
|
||||
CONSTRAINT FK_tmp_Shop_User_id_user
|
||||
FOREIGN KEY (id_user)
|
||||
REFERENCES Shop_User(id_user),
|
||||
active BIT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE tmp_Shop_Order (
|
||||
id_order INT NOT NULL PRIMARY KEY,
|
||||
CONSTRAINT FK_tmp_Shop_Order_id_order
|
||||
FOREIGN KEY (id_order)
|
||||
REFERENCES Shop_User_Order(id_order),
|
||||
active BIT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
guid BINARY(36) NOT NULL,
|
||||
# id_type INT NOT NULL,
|
||||
# CONSTRAINT FK_tmp_Msg_Error_id_type FOREIGN KEY (id_type)
|
||||
# REFERENCES Shop_Msg_Error_Type (id_type),
|
||||
code VARCHAR(50),
|
||||
msg VARCHAR(4000) NOT NULL
|
||||
);
|
||||
|
||||
|
||||
-- Parse filters
|
||||
SET v_has_filter_user = CASE WHEN a_id_user = '' THEN 0 ELSE 1 END;
|
||||
SET a_ids_order = REPLACE(a_ids_order, '|', ',');
|
||||
SET v_has_filter_order = CASE WHEN a_ids_order = '' THEN 0 ELSE 1 END;
|
||||
SET v_has_filter_session = CASE WHEN a_id_checkout_session = '' THEN 0 ELSE 1 END;
|
||||
|
||||
-- User
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
|
||||
IF v_has_filter_user THEN
|
||||
INSERT INTO tmp_Shop_User (
|
||||
id_user,
|
||||
active
|
||||
)
|
||||
SELECT id_user,
|
||||
active
|
||||
FROM Shop_User
|
||||
WHERE id_user LIKE CONCAT('%', a_id_user, '%')
|
||||
AND active
|
||||
LIMIT 1
|
||||
;
|
||||
|
||||
SET v_has_filter_user = EXISTS (SELECT id_user FROM tmp_Shop_User LIMIT 1);
|
||||
SET a_id_user := (SELECT id_user FROM tmp_Shop_User LIMIT 1);
|
||||
END IF;
|
||||
END IF;
|
||||
IF NOT v_has_filter_user THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
guid,
|
||||
code,
|
||||
msg
|
||||
)
|
||||
VALUES (
|
||||
v_guid,
|
||||
v_code_error_data,
|
||||
'User ID not valid.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
-- Permissions
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN
|
||||
CALL p_shop_user_eval (
|
||||
v_guid, # a_guid
|
||||
a_id_user, # a_id_user
|
||||
0, # a_get_inactive_users
|
||||
CONVERT((SELECT id_permission FROM Shop_Permission WHERE 'STORE_USER' = code), CHAR), # a_ids_permission
|
||||
(SELECT id_access_level FROM Shop_Access_Level WHERE code = 'VIEW' AND active), # a_ids_access_level
|
||||
'', # a_ids_product
|
||||
'' # a_ids_permutation
|
||||
);
|
||||
|
||||
IF NOT (SELECT can_edit FROM Shop_User_Eval_Temp WHERE guid = v_guid) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
guid,
|
||||
code,
|
||||
msg
|
||||
)
|
||||
VALUES (
|
||||
v_guid,
|
||||
v_code_error_permission,
|
||||
'User ID does not have permission to access orders.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
DELETE FROM Shop_User_Eval_Temp
|
||||
WHERE guid = v_guid
|
||||
;
|
||||
END IF;
|
||||
|
||||
-- Invalid Orders
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN
|
||||
# Invalid Order IDs
|
||||
IF EXISTS (SELECT * FROM Shop_User_Order WHERE NOT (id_user = a_id_user) AND v_has_filter_order AND FIND_IN_SET(id_order, a_ids_order) > 0) THEN # id_order LIKE CONCAT('%', a_ids_order, '%') LIMIT 1) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
guid,
|
||||
code,
|
||||
msg
|
||||
)
|
||||
VALUES (
|
||||
v_guid,
|
||||
v_code_error_data,
|
||||
CONCAT('You do not have access to the following order IDs: ', (SELECT GROUP_CONCAT(id_order SEPARATOR ', ') FROM Shop_User_Order WHERE NOT (id_user = a_id_user) AND FIND_IN_SET(id_order, a_ids_order) > 0)) # id_order LIKE CONCAT('%', a_ids_order, '%'))) # AND v_has_filter_order # filtered by parent condition
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
# Invalid Checkout Session IDs
|
||||
IF EXISTS (SELECT * FROM Shop_User_Order WHERE NOT (id_user = a_id_user) AND v_has_filter_session AND id_checkout_session = a_id_checkout_session) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
guid,
|
||||
code,
|
||||
msg
|
||||
)
|
||||
VALUES (
|
||||
v_guid,
|
||||
v_code_error_data,
|
||||
CONCAT('You do not have access to the following checkout session IDs: ', (SELECT GROUP_CONCAT(id_order SEPARATOR ', ') FROM Shop_User_Order WHERE NOT (id_user = a_id_user) AND id_checkout_session = a_id_checkout_session)) # AND v_has_filter_order # filtered by parent condition
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
-- Valid Orders
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN
|
||||
|
||||
INSERT INTO tmp_Shop_Order (
|
||||
id_order,
|
||||
active
|
||||
)
|
||||
SELECT UO.id_order,
|
||||
UO.active
|
||||
FROM Shop_User_Order UO
|
||||
INNER JOIN tmp_Shop_User t_U
|
||||
ON UO.id_user = t_U.id_user
|
||||
AND t_U.active
|
||||
WHERE ((NOT v_has_filter_order OR FIND_IN_SET(UO.id_order, a_ids_order) > 0) # UO.id_order LIKE CONCAT('%', a_ids_order, '%'))
|
||||
OR (NOT v_has_filter_session OR UO.id_checkout_session = a_id_checkout_session))
|
||||
AND UO.active
|
||||
;
|
||||
END IF;
|
||||
|
||||
|
||||
|
||||
-- Returns
|
||||
/*
|
||||
SELECT *
|
||||
FROM tmp_Shop_User
|
||||
;
|
||||
*/
|
||||
|
||||
SELECT t_O.id_order,
|
||||
UOPL.id_product,
|
||||
UOPL.id_permutation,
|
||||
UOPL.quantity
|
||||
FROM tmp_Shop_Order t_O
|
||||
INNER JOIN Shop_User_Order UO
|
||||
ON t_O.id_order = UO.id_order
|
||||
INNER JOIN Shop_User_Order_Product_Link UOPL
|
||||
ON UO.id_order = UOPL.id_order
|
||||
WHERE t_O.active
|
||||
;
|
||||
|
||||
|
||||
# Errors
|
||||
SELECT *
|
||||
FROM tmp_Msg_Error
|
||||
WHERE guid = v_guid
|
||||
;
|
||||
|
||||
|
||||
/*
|
||||
# Return arguments for test
|
||||
SELECT
|
||||
a_id_user,
|
||||
a_ids_order,
|
||||
a_n_order_max,
|
||||
a_id_checkout_session
|
||||
;
|
||||
*/
|
||||
|
||||
-- Clean up
|
||||
DROP TABLE IF EXISTS tmp_Shop_User;
|
||||
DROP TABLE IF EXISTS tmp_Shop_Order;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
|
||||
/*
|
||||
|
||||
CALL p_shop_get_many_user_order (
|
||||
'auth0|6582b95c895d09a70ba10fef',
|
||||
'1',
|
||||
0,
|
||||
''
|
||||
);
|
||||
|
||||
CALL p_shop_get_many_user_order (
|
||||
'',
|
||||
'1',
|
||||
0,
|
||||
''
|
||||
);
|
||||
|
||||
insert into shop_product_change_set (comment)
|
||||
values ('set product not subscription - test bool output to python');
|
||||
update shop_product
|
||||
set is_subscription = 0,
|
||||
id_change_set = (select id_change_set from shop_product_change_set order by id_change_set desc limit 1)
|
||||
where id_product = 1
|
||||
select * from shop_User;
|
||||
select * from shop_User_oRDER;
|
||||
*/
|
||||
@@ -1,657 +0,0 @@
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|
||||
CALL p_shop_get_product (
|
||||
'', # a_id_user
|
||||
1, # a_id_product
|
||||
'', # a_ids_image
|
||||
0, # a_get_first_image_only
|
||||
1 # a_get_all_images
|
||||
)
|
||||
|
||||
*/
|
||||
|
||||
|
||||
-- Clear previous proc
|
||||
DROP PROCEDURE IF EXISTS p_shop_get_product;
|
||||
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE p_shop_get_product (
|
||||
IN a_id_user INT,
|
||||
IN a_id_product INT,
|
||||
IN a_ids_permutation VARCHAR(4000),
|
||||
IN a_ids_image VARCHAR(500),
|
||||
IN a_get_first_image_only BIT,
|
||||
IN a_get_all_images BIT
|
||||
)
|
||||
BEGIN
|
||||
-- Argument redeclaration
|
||||
-- Variable declaration
|
||||
DECLARE v_has_filter_product BIT;
|
||||
DECLARE v_id_product_search VARCHAR(10);
|
||||
DECLARE v_has_filter_permutation BIT;
|
||||
DECLARE v_has_product_permutations BIT;
|
||||
DECLARE v_guid BINARY(36);
|
||||
# DECLARE v_id_user VARCHAR(100);
|
||||
DECLARE v_id_permission_product INT;
|
||||
DECLARE v_ids_product_permission VARCHAR(500);
|
||||
DECLARE v_id_access_level_view INT;
|
||||
DECLARE v_has_filter_image BIT;
|
||||
DECLARE v_now DATETIME;
|
||||
DECLARE v_id_minimum INT;
|
||||
DECLARE v_code_error_data VARCHAR(50);
|
||||
|
||||
|
||||
SET v_guid := UUID();
|
||||
SET v_code_error_data := (SELECT code FROM Shop_Msg_Error_Type WHERE id_type = 1);
|
||||
SET v_id_access_level_view := (SELECT id_access_level FROM Shop_Access_Level WHERE code = 'VIEW');
|
||||
|
||||
-- Argument validation + default values
|
||||
IF a_id_user IS NULL THEN
|
||||
SET a_id_user = '';
|
||||
ELSE
|
||||
SET a_id_user = TRIM(a_id_user);
|
||||
END IF;
|
||||
IF a_ids_image IS NULL THEN
|
||||
SET a_ids_image = '';
|
||||
ELSE
|
||||
SET a_ids_image = TRIM(a_ids_image);
|
||||
END IF;
|
||||
|
||||
|
||||
-- Temporary tables
|
||||
DROP TABLE IF EXISTS tmp_Shop_Image;
|
||||
DROP TABLE IF EXISTS tmp_Shop_Variation;
|
||||
DROP TABLE IF EXISTS tmp_Shop_Product;
|
||||
|
||||
CREATE TABLE tmp_Shop_Product (
|
||||
id_product INT NOT NULL,
|
||||
CONSTRAINT FK_tmp_Shop_Product_id_product
|
||||
FOREIGN KEY (id_product)
|
||||
REFERENCES Shop_Product(id_product),
|
||||
id_permutation INT NULL,
|
||||
CONSTRAINT FK_tmp_Shop_Product_id_permutation
|
||||
FOREIGN KEY (id_permutation)
|
||||
REFERENCES Shop_Product_Permutation(id_permutation),
|
||||
id_category INT NOT NULL,
|
||||
CONSTRAINT FK_tmp_Shop_Product_id_category
|
||||
FOREIGN KEY (id_category)
|
||||
REFERENCES Shop_Product_Category(id_category),
|
||||
display_order INT,
|
||||
can_view BIT,
|
||||
can_edit BIT,
|
||||
can_admin BIT
|
||||
);
|
||||
|
||||
/*
|
||||
CREATE TEMPORARY TABLE tmp_Shop_Variation (
|
||||
id_variation INT NOT NULL,
|
||||
id_product INT NOT NULL,
|
||||
display_order INT NOT NULL
|
||||
);
|
||||
*/
|
||||
|
||||
CREATE TABLE tmp_Shop_Image (
|
||||
id_product INT NOT NULL,
|
||||
CONSTRAINT FK_tmp_Shop_Image_id_product
|
||||
FOREIGN KEY (id_product)
|
||||
REFERENCES Shop_Product(id_product),
|
||||
id_permutation INT NULL,
|
||||
CONSTRAINT FK_tmp_Shop_Image_id_permutation
|
||||
FOREIGN KEY (id_permutation)
|
||||
REFERENCES Shop_Product_Permutation(id_permutation),
|
||||
id_image INT NOT NULL,
|
||||
CONSTRAINT FK_tmp_Shop_Image_id_image
|
||||
FOREIGN KEY (id_image)
|
||||
REFERENCES Shop_Image(id_image),
|
||||
display_order INT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
guid BINARY(36) NOT NULL,
|
||||
# code VARCHAR(50) NOT NULL,
|
||||
# CONSTRAINT chk_tmp_Msg_Error_code CHECK (code IN (SELECT code FROM Shop_Msg_Error_Type)),
|
||||
id_type INT NOT NULL,
|
||||
CONSTRAINT FK_tmp_Msg_Error_id_type
|
||||
FOREIGN KEY (id_type)
|
||||
REFERENCES Shop_Msg_Error_Type(id_type),
|
||||
msg VARCHAR(4000) NOT NULL
|
||||
);
|
||||
|
||||
|
||||
-- Parse filters
|
||||
# SET v_id_product_search = CONCAT('%', CAST(a_id_product AS CHAR), '%');
|
||||
# select v_id_product_search;
|
||||
SET v_has_filter_image = '';
|
||||
|
||||
# Products
|
||||
INSERT INTO tmp_Shop_Product (
|
||||
id_product, id_category, display_order
|
||||
)
|
||||
SELECT P.id_product, P.id_category, P.display_order
|
||||
FROM Shop_Product P
|
||||
# WHERE P.id_product LIKE v_id_product_search
|
||||
WHERE P.id_product = a_id_product
|
||||
AND NOT P.has_variations
|
||||
AND P.active
|
||||
;
|
||||
# Product Permutations
|
||||
INSERT INTO tmp_Shop_Product (
|
||||
id_product, id_category, id_permutation, display_order
|
||||
)
|
||||
SELECT PP.id_product, P.id_category, PP.id_permutation, PP.display_order
|
||||
FROM Shop_Product_Permutation PP
|
||||
INNER JOIN Shop_Product P
|
||||
ON PP.id_product = P.id_product
|
||||
AND P.has_variations
|
||||
AND P.active
|
||||
# WHERE PP.id_product LIKE v_id_product_search
|
||||
WHERE PP.id_product = a_id_product
|
||||
AND PP.active
|
||||
;
|
||||
|
||||
SET a_id_product := (SELECT id_product FROM tmp_Shop_Product LIMIT 1);
|
||||
-- SET v_has_filter_product = NOT ISNULL(a_id_product);
|
||||
SET v_has_product_permutations = EXISTS (SELECT id_permutation FROM tmp_Shop_Product WHERE NOT ISNULL(id_permutation));
|
||||
|
||||
IF ISNULL(a_id_product) THEN # NOT v_has_filter_product
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
guid,
|
||||
code,
|
||||
msg
|
||||
)
|
||||
VALUES (
|
||||
v_guid,
|
||||
v_code_error_data,
|
||||
'Valid product ID not provided.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
# Permutations
|
||||
IF v_has_filter_permutation THEN
|
||||
DELETE FROM tmp_Shop_Product
|
||||
WHERE FIND_IN_SET(id_permutation, a_ids_permutation) = 0
|
||||
;
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Shop_Product) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
guid,
|
||||
code,
|
||||
msg
|
||||
)
|
||||
VALUES (
|
||||
v_guid,
|
||||
v_code_error_data,
|
||||
'Permutation IDs not associated with product ID.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
|
||||
/*
|
||||
# Variations
|
||||
INSERT INTO tmp_Shop_Variation (
|
||||
id_variation, id_product
|
||||
)
|
||||
SELECT P.id_variation, P.id_product
|
||||
FROM Shop_Variation V
|
||||
INNER JOIN tmp_Shop_Product t_P
|
||||
ON V.id_product = t_P.id_product
|
||||
WHERE V.active
|
||||
;
|
||||
*/
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid) THEN
|
||||
# Product Images
|
||||
INSERT INTO tmp_Shop_Image (
|
||||
id_product, id_image, display_order
|
||||
)
|
||||
SELECT t_P.id_product, I.id_image, I.display_order
|
||||
FROM Shop_Image I
|
||||
INNER JOIN tmp_Shop_Product t_P
|
||||
ON I.id_product = t_P.id_product
|
||||
AND ISNULL(I.id_permutation)
|
||||
INNER JOIN Shop_Product P
|
||||
ON t_P.id_product = P.id_product
|
||||
AND NOT P.has_variations
|
||||
WHERE I.active
|
||||
;
|
||||
# Product Permutation Images
|
||||
INSERT INTO tmp_Shop_Image (
|
||||
id_product,
|
||||
id_permutation,
|
||||
id_image,
|
||||
display_order
|
||||
)
|
||||
SELECT t_P.id_product,
|
||||
t_P.id_permutation,
|
||||
I.id_image,
|
||||
ROW_NUMBER() OVER W AS display_order
|
||||
FROM Shop_Image I
|
||||
INNER JOIN Shop_Product_Permutation PP
|
||||
ON I.id_permutation = PP.id_permutation
|
||||
INNER JOIN Shop_Product P
|
||||
ON PP.id_product = P.id_product
|
||||
AND P.has_variations
|
||||
INNER JOIN tmp_Shop_Product t_P
|
||||
ON P.id_product = t_P.id_product
|
||||
AND PP.id_permutation = t_P.id_permutation
|
||||
WHERE I.active
|
||||
WINDOW W AS (ORDER BY P.display_order, PP.display_order, I.display_order)
|
||||
;
|
||||
END IF;
|
||||
|
||||
|
||||
-- Permissions
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid) AND EXISTS (SELECT * FROM tmp_Shop_Product LIMIT 1) THEN
|
||||
# SET v_id_user := (SELECT id_user FROM Shop_User WHERE name = CURRENT_USER());
|
||||
SET v_id_permission_product := (SELECT id_permission FROM Shop_Permission WHERE code = 'STORE_PRODUCT' LIMIT 1);
|
||||
SET v_ids_product_permission := (SELECT GROUP_CONCAT(DISTINCT id_product SEPARATOR '|') FROM tmp_Shop_Product);
|
||||
|
||||
SELECT v_guid, a_id_user, false, v_id_permission_product, v_id_access_level_view, v_ids_product_permission;
|
||||
|
||||
CALL p_shop_user_eval(v_guid, a_id_user, false, v_id_permission_product, v_id_access_level_view, v_ids_product_permission);
|
||||
|
||||
select * from shop_user_eval_temp;
|
||||
|
||||
UPDATE tmp_Shop_Product t_P
|
||||
INNER JOIN Shop_User_Eval_Temp UE_T
|
||||
ON t_P.id_product = UE_T.id_product
|
||||
AND UE_T.GUID = v_guid
|
||||
SET t_P.can_view = UE_T.can_view,
|
||||
t_P.can_edit = UE_T.can_edit,
|
||||
t_P.can_admin = UE_T.can_admin;
|
||||
|
||||
DELETE FROM tmp_Shop_Product
|
||||
WHERE FIND_IN_SET(id_product, (SELECT GROUP_CONCAT(id_product SEPARATOR ',') FROM Shop_User_Eval_Temp)) = 0 # id_product NOT LIKE CONCAT('%', (SELECT GROUP_CONCAT(id_product SEPARATOR '|') FROM Shop_User_Eval_Temp), '%');
|
||||
;
|
||||
|
||||
# CALL p_shop_user_eval_clear_temp(v_guid);
|
||||
# DROP TABLE IF EXISTS Shop_User_Eval_Temp;
|
||||
DELETE FROM Shop_User_Eval_Temp
|
||||
WHERE GUID = v_guid;
|
||||
END IF;
|
||||
|
||||
|
||||
-- Returns
|
||||
SET v_now := NOW();
|
||||
|
||||
# Category
|
||||
SELECT DISTINCT t_P.id_category,
|
||||
C.name,
|
||||
C.description,
|
||||
C.display_order
|
||||
FROM tmp_Shop_Product t_P
|
||||
INNER JOIN Shop_Product_Category C
|
||||
ON t_P.id_category = C.id_category
|
||||
ORDER BY C.display_order
|
||||
;
|
||||
|
||||
IF NOT v_has_product_permutations THEN
|
||||
# Products
|
||||
SELECT t_P.id_product,
|
||||
NULL AS id_permutation,
|
||||
P.name,
|
||||
P.description,
|
||||
P.price_GBP_full,
|
||||
P.has_variations,
|
||||
P.id_category,
|
||||
P.latency_manuf,
|
||||
P.quantity_min,
|
||||
P.quantity_max,
|
||||
P.quantity_step,
|
||||
P.quantity_stock,
|
||||
P.id_stripe_product,
|
||||
P.is_subscription,
|
||||
RI.name AS name_interval_recurrence,
|
||||
RI.name_plural AS name_plural_interval_recurrence,
|
||||
P.count_interval_recurrence
|
||||
FROM tmp_Shop_Product t_P
|
||||
INNER JOIN Shop_Product P
|
||||
ON t_P.id_product = P.id_product
|
||||
LEFT JOIN Shop_Interval_Recurrence RI
|
||||
ON P.id_unit_measurement_interval_recurrence = RI.id_interval
|
||||
WHERE ISNULL(t_P.id_permutation)
|
||||
ORDER BY t_P.display_order
|
||||
;
|
||||
ELSE
|
||||
# Permutations
|
||||
SELECT t_P.id_product,
|
||||
t_P.id_permutation,
|
||||
P.name,
|
||||
P.description,
|
||||
P.price_GBP_full,
|
||||
P.has_variations,
|
||||
P.id_category,
|
||||
P.latency_manuf,
|
||||
P.quantity_min,
|
||||
P.quantity_max,
|
||||
P.quantity_step,
|
||||
P.quantity_stock,
|
||||
P.id_stripe_product,
|
||||
P.is_subscription,
|
||||
RI.name AS name_interval_recurrence,
|
||||
RI.name_plural AS name_plural_interval_recurrence,
|
||||
P.count_interval_recurrence
|
||||
FROM tmp_Shop_Product t_P
|
||||
INNER JOIN Shop_Product_Permutation PP
|
||||
ON t_P.id_permutation = PP.id_permutation
|
||||
AND PP.active
|
||||
INNER JOIN Shop_Product P
|
||||
ON PP.id_product = P.id_product
|
||||
LEFT JOIN Shop_Interval_Recurrence RI
|
||||
ON P.id_unit_measurement_interval_recurrence = RI.id_interval
|
||||
WHERE NOT ISNULL(t_P.id_permutation)
|
||||
ORDER BY t_P.display_order
|
||||
;
|
||||
END IF;
|
||||
|
||||
# Variations
|
||||
IF v_has_product_permutations THEN
|
||||
SELECT PPVL.id_variation,
|
||||
t_P.id_product,
|
||||
t_P.id_category,
|
||||
VT.code AS code_variation_type,
|
||||
VT.name AS name_variation_type,
|
||||
V.code AS code_variation,
|
||||
V.name AS name_variation
|
||||
FROM Shop_Product_Permutation_Variation_Link PPVL
|
||||
INNER JOIN tmp_Shop_Product t_P
|
||||
ON PPVL.id_permutation = t_P.id_permutation
|
||||
INNER JOIN Shop_Variation V
|
||||
ON PPVL.id_variation = V.id_variation
|
||||
INNER JOIN Shop_Variation_Type VT
|
||||
ON V.id_type = VT.id_type
|
||||
WHERE V.active
|
||||
AND VT.active
|
||||
AND PPVL.active
|
||||
ORDER BY VT.display_order, V.display_order
|
||||
;
|
||||
ELSE
|
||||
SELECT NULL AS id_variation,
|
||||
NULL AS id_product,
|
||||
NULL AS id_category,
|
||||
NULL AS code_variation_type,
|
||||
NULL AS name_variation_type,
|
||||
NULL AS code_variation,
|
||||
NULL AS name_variation
|
||||
;
|
||||
END IF;
|
||||
|
||||
IF v_has_product_permutations THEN
|
||||
# Permutation Variations
|
||||
SELECT t_P.id_permutation,
|
||||
t_P.id_product,
|
||||
t_P.id_category,
|
||||
id_variation
|
||||
FROM Shop_Product_Permutation_Variation_Link PPVL
|
||||
INNER JOIN tmp_Shop_Product t_P
|
||||
ON t_P.id_permutation = PPVL.id_permutation
|
||||
;
|
||||
ELSE
|
||||
SELECT NULL AS id_permutation,
|
||||
NULL AS id_product,
|
||||
NULL AS id_category,
|
||||
NULL AS id_variation
|
||||
;
|
||||
END IF;
|
||||
|
||||
# Images
|
||||
SELECT I.id_image,
|
||||
t_P.id_product,
|
||||
I.id_permutation,
|
||||
t_P.id_category,
|
||||
I.url
|
||||
FROM tmp_Shop_Image t_I
|
||||
INNER JOIN Shop_Image I
|
||||
ON t_I.id_image = I.id_image
|
||||
INNER JOIN tmp_Shop_Product t_P
|
||||
ON a_id_product = t_P.id_product
|
||||
AND I.id_permutation = t_P.id_permutation
|
||||
-- WHERE I.active
|
||||
ORDER BY I.display_order
|
||||
;
|
||||
|
||||
# Delivery Regions
|
||||
IF v_has_product_permutations THEN
|
||||
SELECT DR.id_region,
|
||||
t_P.id_category,
|
||||
t_P.id_product,
|
||||
t_P.id_permutation,
|
||||
DR.code,
|
||||
DR.name
|
||||
FROM Shop_Delivery_Region DR
|
||||
INNER JOIN Shop_Product_Delivery_Region_Link PDRL
|
||||
ON DR.id_region = PDRL.id_region
|
||||
AND PDRL.active
|
||||
INNER JOIN tmp_Shop_Product t_P
|
||||
ON PDRL.id_permutation = t_P.id_permutation
|
||||
WHERE DR.active
|
||||
ORDER BY t_P.id_permutation, DR.display_order
|
||||
;
|
||||
ELSE
|
||||
SELECT PDRL.id_region,
|
||||
t_P.id_category,
|
||||
t_P.id_product,
|
||||
t_P.id_permutation,
|
||||
DR.code,
|
||||
DR.name
|
||||
FROM Shop_Delivery_Region DR
|
||||
INNER JOIN Shop_Product_Delivery_Region_Link PDRL
|
||||
ON DR.id_region = PDRL.id_region
|
||||
AND PDRL.active
|
||||
INNER JOIN tmp_Shop_Product t_P
|
||||
ON PDRL.id_product = t_P.id_product
|
||||
WHERE DR.active
|
||||
ORDER BY DR.display_order
|
||||
;
|
||||
END IF;
|
||||
|
||||
# Delivery options
|
||||
IF v_has_product_permutations THEN
|
||||
SELECT _DO.id_option,
|
||||
_DO.id_product,
|
||||
_DO.id_permutation,
|
||||
t_P.id_category,
|
||||
DOT.code,
|
||||
DOT.name,
|
||||
DOT.latency_delivery_min,
|
||||
DOT.latency_delivery_max,
|
||||
DOT.quantity_min,
|
||||
DOT.quantity_max,
|
||||
GROUP_CONCAT(DR.code SEPARATOR ',') AS codes_region,
|
||||
GROUP_CONCAT(DR.name SEPARATOR ',') AS names_region,
|
||||
_DO.price_GBP,
|
||||
DOT.display_order
|
||||
FROM Shop_Delivery_Option _DO
|
||||
INNER JOIN Shop_Delivery_Option_Type DOT
|
||||
ON _DO.id_delivery_type = DOT.id_type
|
||||
AND DOT.active
|
||||
INNER JOIN tmp_Shop_Product t_P
|
||||
ON _DO.id_permutation = t_P.id_permutation
|
||||
INNER JOIN Shop_Product_Delivery_Region_Link PDRL
|
||||
ON t_P.id_product = PDRL.id_product
|
||||
AND PDRL.active
|
||||
INNER JOIN Shop_Delivery_Region DR
|
||||
ON PDRL.id_region = DR.id_region
|
||||
AND DR.active
|
||||
WHERE _DO.active
|
||||
AND a_id_product = _DO.id_product
|
||||
GROUP BY t_P.id_product, PDRL.id_region, _DO.id_option, t_P.id_category
|
||||
ORDER BY DOT.display_order
|
||||
;
|
||||
ELSE
|
||||
SELECT _DO.id_option,
|
||||
_DO.id_product,
|
||||
_DO.id_permutation,
|
||||
t_P.id_category,
|
||||
DOT.code,
|
||||
DOT.name,
|
||||
DOT.latency_delivery_min,
|
||||
DOT.latency_delivery_max,
|
||||
DOT.quantity_min,
|
||||
DOT.quantity_max,
|
||||
GROUP_CONCAT(DR.code SEPARATOR ',') AS codes_region,
|
||||
GROUP_CONCAT(DR.name SEPARATOR ',') AS names_region,
|
||||
_DO.price_GBP,
|
||||
DOT.display_order
|
||||
FROM Shop_Delivery_Option _DO
|
||||
INNER JOIN Shop_Delivery_Option_Type DOT
|
||||
ON _DO.id_delivery_type = DOT.id_type
|
||||
AND DOT.active
|
||||
INNER JOIN tmp_Shop_Product t_P
|
||||
ON _DO.id_product = t_P.id_product
|
||||
INNER JOIN Shop_Product_Delivery_Region_Link PDRL
|
||||
ON t_P.id_product = PDRL.id_product
|
||||
AND PDRL.active
|
||||
INNER JOIN Shop_Delivery_Region DR
|
||||
ON PDRL.id_region = DR.id_region
|
||||
AND DR.active
|
||||
WHERE _DO.active
|
||||
AND a_id_product = _DO.id_product
|
||||
GROUP BY t_P.id_product, PDRL.id_region, _DO.id_option, t_P.id_category
|
||||
ORDER BY DOT.display_order
|
||||
;
|
||||
END IF;
|
||||
|
||||
IF v_has_product_permutations THEN
|
||||
# Discounts
|
||||
SELECT D.id_discount,
|
||||
t_P.id_category,
|
||||
a_id_product,
|
||||
D.id_permutation,
|
||||
D.code,
|
||||
D.name,
|
||||
D.multiplier,
|
||||
D.quantity_min,
|
||||
D.quantity_max,
|
||||
D.date_start,
|
||||
D.date_end,
|
||||
D.display_order
|
||||
FROM Shop_Discount D
|
||||
INNER JOIN tmp_Shop_Product t_P
|
||||
ON D.id_permutation = t_P.id_permutation
|
||||
WHERE D.active
|
||||
;
|
||||
ELSE
|
||||
# Discounts
|
||||
SELECT D.id_discount,
|
||||
t_P.id_category,
|
||||
D.id_product,
|
||||
NULL AS id_permutation,
|
||||
D.code,
|
||||
D.name,
|
||||
D.multiplier,
|
||||
D.quantity_min,
|
||||
D.quantity_max,
|
||||
D.date_start,
|
||||
D.date_end,
|
||||
D.display_order
|
||||
FROM Shop_Discount D
|
||||
INNER JOIN tmp_Shop_Product t_P
|
||||
ON D.id_product = t_P.id_product
|
||||
WHERE D.active
|
||||
AND a_id_product = D.id_product
|
||||
;
|
||||
END IF;
|
||||
|
||||
IF v_has_product_permutations THEN
|
||||
# Discount Delivery Regions
|
||||
SELECT DDRL.id_discount,
|
||||
DDRL.id_region,
|
||||
t_P.id_category,
|
||||
t_P.id_product,
|
||||
t_P.id_permutation,
|
||||
DR.code,
|
||||
DR.name,
|
||||
DR.display_order
|
||||
FROM Shop_Discount D
|
||||
INNER JOIN tmp_Shop_Product t_P
|
||||
ON D.id_permutation = t_P.id_permutation
|
||||
INNER JOIN Shop_Discount_Delivery_Region_Link DDRL
|
||||
ON D.id_discount = DDRL.id_discount
|
||||
AND DDRL.active
|
||||
INNER JOIN Shop_Delivery_Region DR
|
||||
ON DDRL.id_region = DR.id_region
|
||||
AND DR.active
|
||||
WHERE D.active
|
||||
;
|
||||
ELSE
|
||||
# Discount Delivery Regions
|
||||
SELECT DDRL.id_discount,
|
||||
DDRL.id_region,
|
||||
t_P.id_category,
|
||||
t_P.id_product,
|
||||
NULL AS id_permutation,
|
||||
DR.code,
|
||||
DR.name,
|
||||
DR.display_order
|
||||
FROM Shop_Discount D
|
||||
INNER JOIN tmp_Shop_Product t_P
|
||||
ON D.id_product = t_P.id_product
|
||||
INNER JOIN Shop_Discount_Delivery_Region_Link DDRL
|
||||
ON D.id_discount = DDRL.id_discount
|
||||
AND DDRL.active
|
||||
INNER JOIN Shop_Delivery_Region DR
|
||||
ON DDRL.id_region = DR.id_region
|
||||
AND DR.active
|
||||
WHERE D.active
|
||||
AND a_id_product = D.id_product
|
||||
;
|
||||
END IF;
|
||||
|
||||
# Errors
|
||||
SELECT *
|
||||
FROM tmp_Msg_Error
|
||||
WHERE guid = v_guid
|
||||
;
|
||||
|
||||
/*
|
||||
# Return arguments for test
|
||||
SELECT
|
||||
a_ids_category,
|
||||
a_get_inactive_categories,
|
||||
a_ids_product,
|
||||
a_get_inactive_products,
|
||||
a_get_first_product_only,
|
||||
a_get_all_products,
|
||||
a_ids_image,
|
||||
a_get_inactive_images,
|
||||
a_get_first_image_only,
|
||||
a_get_all_images
|
||||
;
|
||||
*/
|
||||
|
||||
-- Clean up
|
||||
DROP TABLE IF EXISTS tmp_Shop_Image;
|
||||
DROP TABLE IF EXISTS tmp_Shop_Variation;
|
||||
DROP TABLE IF EXISTS tmp_Shop_Product;
|
||||
END //
|
||||
DELIMITER ;;
|
||||
|
||||
|
||||
|
||||
|
||||
CALL p_shop_get_product (
|
||||
'', # a_id_user
|
||||
1 # a_id_product
|
||||
);
|
||||
|
||||
/*
|
||||
drop table tmp_msg_error;
|
||||
select * from shop_image;
|
||||
select * from shop_discount;
|
||||
|
||||
insert into shop_product_change_set (comment)
|
||||
values ('set product not subscription - test bool output to python');
|
||||
update shop_product
|
||||
set is_subscription = 0,
|
||||
id_change_set = (select id_change_set from shop_product_change_set order by id_change_set desc limit 1)
|
||||
where id_product = 1
|
||||
*/
|
||||
@@ -1,83 +0,0 @@
|
||||
SELECT URL.id_link,
|
||||
URL.id_user,
|
||||
U.name AS name,
|
||||
URL.id_role,
|
||||
R.name AS role
|
||||
FROM Shop_User_Role_Link URL
|
||||
INNER JOIN Shop_User U
|
||||
ON URL.id_user = U.id_user
|
||||
INNER JOIN Shop_Role R
|
||||
ON URL.id_role = R.id_role
|
||||
;
|
||||
SELECT *
|
||||
FROM Shop_Role_Permission_Link
|
||||
;
|
||||
SELECT *
|
||||
FROM Shop_Access_Level
|
||||
;
|
||||
SELECT *
|
||||
FROM Shop_Permission
|
||||
;
|
||||
SELECT *
|
||||
FROM Shop_Access_Level
|
||||
;
|
||||
|
||||
|
||||
select * from shop_user;
|
||||
select * from shop_user_audit;
|
||||
select * from Shop_User_Change_Set;
|
||||
/*
|
||||
INSERT INTO Shop_User_Change_Set ( comment )
|
||||
VALUES ('Demotion');
|
||||
*/
|
||||
UPDATE Shop_User
|
||||
SET is_super_user = 0,
|
||||
id_change_set = (SELECT id_change_set FROM Shop_User_Change_Set LIMIT 1)
|
||||
WHERE id_user = 1
|
||||
;
|
||||
select * from shop_user;
|
||||
select * from shop_user_audit;
|
||||
|
||||
|
||||
drop procedure if exists p_test;
|
||||
delimiter //
|
||||
create procedure p_test ()
|
||||
begin
|
||||
declare b0 int;
|
||||
declare b1 int;
|
||||
SET b0 = 0;
|
||||
SET b1 = 1;
|
||||
select b0, b1;
|
||||
select cast(b0 as char), cast(b1 as char);
|
||||
select cast(b0 as char character set utf8), cast(b1 as char character set utf8);
|
||||
select convert(b0, char), convert(b1, char);
|
||||
select convert(b0, char character set utf8), convert(b1, char character set utf8);
|
||||
select convert(convert(b0, signed), char), convert(convert(b1, signed), char);
|
||||
select convert(convert(b0, signed), char character set utf8), convert(convert(b1, signed), char character set utf8);
|
||||
end //
|
||||
delimiter ;
|
||||
call p_test();
|
||||
drop procedure if exists p_test;
|
||||
|
||||
INSERT INTO Shop_User_Audit (
|
||||
id_user,
|
||||
name_field,
|
||||
value_prev,
|
||||
value_new,
|
||||
id_change_set
|
||||
)
|
||||
SELECT id_user, name_field, value_prev, value_new, id_change_set
|
||||
FROM Shop_User_Audit
|
||||
WHERE id_audit = 1
|
||||
UNION
|
||||
SELECT id_user, name_field, value_prev, value_new, id_change_set
|
||||
FROM Shop_User_Audit
|
||||
WHERE id_audit = 1
|
||||
;
|
||||
|
||||
select * from shop_user_audit;
|
||||
|
||||
|
||||
SELECT * FROM Shop_Access_Level;
|
||||
|
||||
SELECT * FROM Shop_Product;
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,293 +0,0 @@
|
||||
|
||||
/* Clear Store DataBase */
|
||||
|
||||
|
||||
|
||||
-- Drop dependencies
|
||||
DROP TABLE IF EXISTS Shop_Calc_User_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_calc_user;
|
||||
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_Product_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_Permutation_Delivery_Option_Link_Audit;
|
||||
DROP TABLE IF EXISTS Shop_Product_Permutation_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_Interval_Recurrence_Audit;
|
||||
DROP TABLE IF EXISTS Shop_Interval_Recurrence;
|
||||
|
||||
DROP TABLE IF EXISTS Shop_Product_Category_Audit;
|
||||
DROP TABLE IF EXISTS Shop_Product_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_calc_user;
|
||||
DROP PROCEDURE IF EXISTS fn_shop_user_eval;
|
||||
DROP PROCEDURE IF EXISTS p_shop_calc_user;
|
||||
|
||||
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;
|
||||
@@ -1,13 +0,0 @@
|
||||
|
||||
-- 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)
|
||||
);
|
||||
@@ -1,13 +0,0 @@
|
||||
|
||||
-- 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)
|
||||
);
|
||||
@@ -1,21 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
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)
|
||||
);
|
||||
@@ -1,13 +0,0 @@
|
||||
|
||||
-- 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)
|
||||
);
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
-- 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)
|
||||
);
|
||||
@@ -1,13 +0,0 @@
|
||||
|
||||
-- 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)
|
||||
);
|
||||
@@ -1,17 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
updated_last_on TIMESTAMP,
|
||||
updated_last_by VARCHAR(100)
|
||||
);
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
updated_last_on TIMESTAMP,
|
||||
updated_last_by VARCHAR(100)
|
||||
);
|
||||
@@ -1,17 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
id_change_set INTEGER,
|
||||
CONSTRAINT CHK_Shop_General_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_Product_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
-- 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)
|
||||
);
|
||||
@@ -1,21 +0,0 @@
|
||||
|
||||
-- Categories
|
||||
|
||||
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Category';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS Shop_Product_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 INT,
|
||||
id_change_set INTEGER,
|
||||
CONSTRAINT FK_Shop_Product_Category_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_Product_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
-- Category Audits
|
||||
|
||||
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Category_Audit';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS Shop_Product_Category_Audit (
|
||||
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
|
||||
id_category INTEGER NOT NULL,
|
||||
CONSTRAINT FK_Shop_Product_Category_Audit_id_category
|
||||
FOREIGN KEY (id_category)
|
||||
REFERENCES Shop_Product_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_Product_Category_Audit_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_Product_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,20 +0,0 @@
|
||||
|
||||
-- Recurrence Interval
|
||||
|
||||
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Interval_Recurrence';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS Shop_Interval_Recurrence (
|
||||
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 INT,
|
||||
id_change_set INTEGER,
|
||||
CONSTRAINT FK_Shop_Interval_Recurrence_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_Product_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
-- Recurrence Interval Audits
|
||||
|
||||
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Interval_Recurrence_Audit';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS Shop_Interval_Recurrence_Audit (
|
||||
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
|
||||
id_interval INTEGER NOT NULL,
|
||||
CONSTRAINT FK_Shop_Interval_Recurrence_Audit_id_interval
|
||||
FOREIGN KEY (id_interval)
|
||||
REFERENCES Shop_Interval_Recurrence(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_Interval_Recurrence_Audit_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_Product_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,20 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
id_change_set INTEGER,
|
||||
CONSTRAINT FK_Shop_Region_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_Product_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
-- 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)
|
||||
);
|
||||
@@ -1,29 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
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)
|
||||
);
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
-- 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)
|
||||
);
|
||||
@@ -1,23 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
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
|
||||
);
|
||||
@@ -1,23 +0,0 @@
|
||||
|
||||
-- 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
|
||||
);
|
||||
@@ -1,38 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
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)
|
||||
);
|
||||
@@ -1,23 +0,0 @@
|
||||
|
||||
-- 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
|
||||
);
|
||||
@@ -1,48 +0,0 @@
|
||||
|
||||
-- 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_Product_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_unit_measurement_interval_recurrence INTEGER,
|
||||
CONSTRAINT FK_Shop_Product_id_unit_measurement_interval_recurrence
|
||||
FOREIGN KEY (id_unit_measurement_interval_recurrence)
|
||||
REFERENCES Shop_Interval_Recurrence(id_interval),
|
||||
count_interval_recurrence 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 INT,
|
||||
id_change_set INTEGER,
|
||||
CONSTRAINT FK_Shop_Product_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_Product_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
-- 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)
|
||||
);
|
||||
@@ -1,21 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
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)
|
||||
);
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
-- 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)
|
||||
);
|
||||
@@ -1,25 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
id_change_set INTEGER,
|
||||
CONSTRAINT FK_Shop_Variation_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_Product_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
-- 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)
|
||||
);
|
||||
@@ -1,47 +0,0 @@
|
||||
|
||||
-- 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_unit_measurement_interval_recurrence INTEGER,
|
||||
CONSTRAINT FK_Shop_Product_Permutation_id_unit_measurement_interval_recurrence
|
||||
FOREIGN KEY (id_unit_measurement_interval_recurrence)
|
||||
REFERENCES Shop_Interval_Recurrence(id_interval),
|
||||
count_interval_recurrence 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 INT,
|
||||
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)
|
||||
);
|
||||
@@ -1,23 +0,0 @@
|
||||
|
||||
-- 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
|
||||
);
|
||||
@@ -1,28 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
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)
|
||||
);
|
||||
@@ -1,23 +0,0 @@
|
||||
|
||||
-- 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
|
||||
);
|
||||
@@ -1,40 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
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)
|
||||
);
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
-- 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)
|
||||
);
|
||||
@@ -1,21 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
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)
|
||||
);
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
-- 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)
|
||||
);
|
||||
@@ -1,35 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
id_change_set INTEGER,
|
||||
CONSTRAINT FK_Shop_Image_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_Product_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,21 +0,0 @@
|
||||
|
||||
-- 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)
|
||||
);
|
||||
@@ -1,25 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
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)
|
||||
);
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
-- 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)
|
||||
);
|
||||
@@ -1,44 +0,0 @@
|
||||
|
||||
-- Delivery Option
|
||||
|
||||
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Permutation_Delivery_Option_Link';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS Shop_Product_Permutation_Delivery_Option_Link (
|
||||
id_link INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
|
||||
id_product INTEGER NOT NULL,
|
||||
CONSTRAINT FK_Shop_Product_Permutation_Delivery_Option_Link_id_product
|
||||
FOREIGN KEY (id_product)
|
||||
REFERENCES Shop_Product(id_product)
|
||||
ON UPDATE RESTRICT,
|
||||
id_permutation INTEGER,
|
||||
CONSTRAINT FK_Shop_Product_Permutation_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_Permutation_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_Permutation_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_Permutation_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 INT,
|
||||
id_change_set INTEGER,
|
||||
CONSTRAINT FK_Shop_Product_Permutation_Delivery_Option_Link_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_Product_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
-- Delivery Option Audits
|
||||
|
||||
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Permutation_Delivery_Option_Link_Audit';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS Shop_Product_Permutation_Delivery_Option_Link_Audit (
|
||||
id_audit INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
|
||||
id_link INTEGER NOT NULL,
|
||||
CONSTRAINT FK_Shop_Product_Permutation_Delivery_Option_Link_Audit_id_link
|
||||
FOREIGN KEY (id_link)
|
||||
REFERENCES Shop_Product_Permutation_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_Permutation_Delivery_Option_Link_Audit_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_Product_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,48 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
id_change_set INTEGER,
|
||||
CONSTRAINT FK_Shop_Discount_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_Product_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,23 +0,0 @@
|
||||
|
||||
-- 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
|
||||
);
|
||||
@@ -1,32 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
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)
|
||||
);
|
||||
@@ -1,23 +0,0 @@
|
||||
|
||||
-- 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
|
||||
);
|
||||
@@ -1,21 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
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
|
||||
);
|
||||
@@ -1,23 +0,0 @@
|
||||
|
||||
-- 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
|
||||
);
|
||||
@@ -1,29 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
id_change_set INTEGER,
|
||||
CONSTRAINT FK_Shop_Permission_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_User_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,23 +0,0 @@
|
||||
|
||||
-- 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
|
||||
);
|
||||
@@ -1,20 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
id_change_set INTEGER,
|
||||
CONSTRAINT FK_Shop_Role_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_User_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,23 +0,0 @@
|
||||
|
||||
-- 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
|
||||
);
|
||||
@@ -1,31 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
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)
|
||||
);
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
-- 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)
|
||||
);
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
id_change_set INTEGER,
|
||||
CONSTRAINT FK_Shop_User_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_User_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,23 +0,0 @@
|
||||
|
||||
-- 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
|
||||
);
|
||||
@@ -1,26 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
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)
|
||||
);
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
-- 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)
|
||||
);
|
||||
@@ -1,33 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
id_change_set INTEGER,
|
||||
CONSTRAINT FK_Shop_Address_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_User_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,23 +0,0 @@
|
||||
|
||||
-- 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
|
||||
);
|
||||
@@ -1,39 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
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)
|
||||
*/
|
||||
);
|
||||
@@ -1,27 +0,0 @@
|
||||
|
||||
-- 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)
|
||||
*/
|
||||
);
|
||||
@@ -1,21 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
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)
|
||||
);
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
-- 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)
|
||||
);
|
||||
@@ -1,32 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
id_change_set INTEGER,
|
||||
CONSTRAINT FK_Shop_Supplier_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES Shop_User_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
-- 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)
|
||||
);
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
-- 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 INT,
|
||||
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)
|
||||
);
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user