diff --git a/business_objects/store/product.py b/business_objects/store/product.py index de6db3e7..93023448 100644 --- a/business_objects/store/product.py +++ b/business_objects/store/product.py @@ -16,7 +16,6 @@ from lib import data_types from forms.forms import Form_Basket_Add, Form_Basket_Edit from forms.store.product_permutation import Filters_Product_Permutation from business_objects.db_base import SQLAlchemy_ABC, Get_Many_Parameters_Base -from business_objects.store.delivery_option import Delivery_Option from business_objects.store.discount import Discount from business_objects.store.image import Image from business_objects.store.product_permutation import Product_Permutation @@ -36,7 +35,6 @@ from typing import ClassVar, List class Product(SQLAlchemy_ABC, Store_Base): NAME_ATTR_OPTION_VALUE: ClassVar[str] = Store_Base.ATTR_ID_PRODUCT NAME_ATTR_OPTION_TEXT = Store_Base.FLAG_NAME - # FLAG_HAS_VARIATIONS: ClassVar[str] = 'has-variations-product' FLAG_INDEX_PERMUTATION_SELECTED: ClassVar[str] = 'index-permutation-selected' FLAG_PRODUCT_VARIATION_TREES: ClassVar[str] = 'variation-trees' diff --git a/business_objects/store/product_category.py b/business_objects/store/product_category.py index f1e6dfb4..ec7aaf72 100644 --- a/business_objects/store/product_category.py +++ b/business_objects/store/product_category.py @@ -17,7 +17,6 @@ from business_objects.store.product import Product, Product_Permutation, Product # from business_objects.store.product_variation import Product_Variation from business_objects.store.product_variation_type import Product_Variation_Type from business_objects.store.image import Image -from business_objects.store.delivery_option import Delivery_Option from business_objects.store.discount import Discount from business_objects.store.stock_item import Stock_Item from business_objects.store.store_base import Store_Base @@ -48,11 +47,6 @@ class Product_Category(SQLAlchemy_ABC, Store_Base): created_on = db.Column(db.DateTime) created_by = db.Column(db.Integer) - """ - products: list = None # [] - product_index: dict = None # {} - """ - def __init__(self): self.products = [] self.product_index = {} @@ -74,13 +68,6 @@ class Product_Category(SQLAlchemy_ABC, Store_Base): category.can_edit = av.input_bool(query_row[9], cls.FLAG_CAN_EDIT, f'{cls.__name__}.from_DB_get_many_product_catalogue') category.can_admin = av.input_bool(query_row[10], cls.FLAG_CAN_ADMIN, f'{cls.__name__}.from_DB_get_many_product_catalogue') return category - """ - def key_product_index_from_ids_product_permutation(id_product, id_permutation): - return f'{id_product},{"" if id_permutation is None else id_permutation}' - def key_product_index_from_product(product): - av.val_instance(product, 'product', 'Category.key_product_index_from_product', Product) - return f'{product.id_product},{"" if product.id_permutation is None else product.id_permutation}' - """ def get_index_product(self, product): return self.get_index_product_from_id(product.id_product) def get_index_product_from_id(self, id_product): @@ -99,8 +86,6 @@ class Product_Category(SQLAlchemy_ABC, Store_Base): def add_product(self, product): _m = 'Category.add_product' av.val_instance(product, 'product', _m, Product) - # self.product_index.append(len(self.products)) - # self.product_index[Category.key_product_index_from_ids_product_permutation(product.id_product, product.id_permutation)] = len(self.products) try: self.get_index_product(product) Helper_App.console_log(f'category: {self}') @@ -111,17 +96,8 @@ class Product_Category(SQLAlchemy_ABC, Store_Base): def add_product_permutation(self, permutation): _m = 'Category.add_product_permutation' av.val_instance(permutation, 'permutation', _m, Product_Permutation) - # self.product_index.append(len(self.products)) - # self.product_index[Category.key_product_index_from_ids_product_permutation(product.id_product, product.id_permutation)] = len(self.products) index_product = self.get_index_product_from_id(permutation.id_product) - # index_product = self.product_index[permutation.id_product] self.products[index_product].add_product_permutation(permutation) - """ - def add_product_variation(self, variation): - av.val_instance(variation, 'variation', 'Category.add_product_variation', Product_Variation) - index_product = self.get_index_product_from_id(variation.id_product) - self.products[index_product].add_product_variation(variation) - """ def add_product_variation_type(self, variation_type): av.val_instance(variation_type, 'variation_type', 'Category.add_product_variation_type', Product_Variation_Type) variation = variation_type.variations[0] @@ -152,16 +128,6 @@ class Product_Category(SQLAlchemy_ABC, Store_Base): if product.has_variations: Helper_App.console_log(f'product with id:{product.id_product} has variations') product.get_variation_trees() - """ - def index_product_from_ids_product_permutation(self, id_product, id_permutation): - key = Category.key_product_index_from_ids_product_permutation(id_product, id_permutation) - Helper_App.console_log(f'product_index: {self.product_index}') - Helper_App.console_log(f'Key Error: {key}') - try: - return self.product_index[key] - except KeyError: - pass - """ def __repr__(self): return f''' id: {self.id_category[0] if isinstance(self.id_category, tuple) else self.id_category} @@ -173,12 +139,6 @@ class Product_Category(SQLAlchemy_ABC, Store_Base): active: {self.active} products: {self.products} ''' - """ - def get_permutation_first(self): - if not (len(self.products) == 0): - Helper_App.console_log(f'getting first permutation from product') - return None if len(self.products) == 0 else self.products[0].get_permutation_selected() - """ def is_available(self): if len(self.products) == 0: return False @@ -227,22 +187,6 @@ class Product_Category(SQLAlchemy_ABC, Store_Base): category.can_edit = json.get(cls.FLAG_CAN_EDIT, False) category.can_admin = json.get(cls.FLAG_CAN_ADMIN, False) return category - """ - def to_json_str(self): - return { - self.ATTR_ID_PRODUCT_CATEGORY: self.id_category[0] if isinstance(self.id_category, tuple) else self.id_category, - self.FLAG_CODE: self.code[0] if isinstance(self.code, tuple) else self.code, - self.FLAG_NAME: self.name[0] if isinstance(self.name, tuple) else self.name, - self.FLAG_DESCRIPTION: self.description[0] if isinstance(self.description, tuple) else self.description, - self.ATTR_ID_ACCESS_LEVEL: self.id_access_level_required[0] if isinstance(self.id_access_level_required, tuple) else self.id_access_level_required, - self.FLAG_ACCESS_LEVEL_REQUIRED: self.name_access_level_required[0] if isinstance(self.name_access_level_required, tuple) else self.name_access_level_required, - self.FLAG_DISPLAY_ORDER: self.display_order, - self.FLAG_ACTIVE: self.output_bool(self.active), - self.FLAG_CAN_VIEW: self.output_bool(self.can_view), - self.FLAG_CAN_EDIT: self.output_bool(self.can_edit), - self.FLAG_CAN_ADMIN: self.output_bool(self.can_admin) - } - """ @staticmethod def output_bool(value): return av.input_bool(value, 'Product_Category bool attribute', 'Product_Category.output_bool') @@ -256,78 +200,7 @@ class Product_Category(SQLAlchemy_ABC, Store_Base): for product in self.products: list_ids += product.get_csv_ids_permutation() return list_ids -""" -class Filters_Product_Category(BaseModel, Store_Base): - ids_product_category: str - ids_product: str - "" - def __new__(cls, product_ids, product_categories): - _m = 'Parameters_Product.__new__' - v_arg_type = 'class attribute' - # av.val_list_instances(product_ids, 'product_ids', _m, str, v_arg_type=v_arg_type) - # av.val_list_instances(product_categories, 'product_categories', _m, Product_Category_Enum, v_arg_type=v_arg_type) - av.val_str(product_ids, 'product_ids', _m, v_arg_type=v_arg_type) - av.val_str(product_categories, 'product_categories', _m, v_arg_type=v_arg_type) - return super(Parameters_Product_Category, cls).__new__(cls) - "" - def __init__(self, ids_product, ids_product_category): - super().__init__(ids_product=ids_product, ids_product_category=ids_product_category) - "" - # Constructor - self.ids = product_ids - self.categories = product_categories - "" - @classmethod - def get_default(cls): - return Filters_Product_Category( - ids_product_category = '', - ids_product = '' - ) - def to_json(self): - return { - **self.get_shared_json_attributes(self), - 'a_ids_product_category': self.ids_product_category, - 'a_ids_product': self.ids_product - } - @classmethod - def from_json(cls, json): - filters = cls() - filters.ids_product_category = json['a_ids_product_category'], - filters.ids_product = json['a_ids_product'] - - -class Filters_Product_Category(Get_Many_Parameters_Base): - FLAG_IS_NOT_EMPTY: ClassVar[str] = 'is_not_empty' - is_not_empty: bool - active: bool - def __init__(self, is_not_empty, active): - super().__init__(is_not_empty=is_not_empty, active=active) - @classmethod - def get_default(cls): - return cls( - is_not_empty = False, - active = True - ) - def to_json(self): - return { - **self.get_shared_json_attributes(self), - self.FLAG_IS_NOT_EMPTY: self.is_not_empty, - self.FLAG_ACTIVE: av.input_bool(self.active, self.FLAG_ACTIVE, f'{self.__class__.__name__}.to_json') - } - @classmethod - def from_json(cls, json): - return cls( - is_not_empty = json['is_not_empty'], - active = json['active'] - ) - @classmethod - def from_form(cls, form): - return cls( - is_not_empty = av.input_bool(form.is_not_empty.data, 'is_not_empty', 'Filters_Product_Category.from_form'), - active = av.input_bool(form.active.data, 'active', 'Filters_Product_Category.from_form') - ) -""" - + class Product_Category_Container(Store_Base): NAME_ATTR_OPTION_TEXT: ClassVar[str] = '' NAME_ATTR_OPTION_VALUE: ClassVar[str] = Store_Base.FLAG_ROWS @@ -360,12 +233,6 @@ class Product_Category_Container(Store_Base): av.val_instance(permutation, 'permutation', 'Container_Product_Categories.add_product_permutation', Product_Permutation) index_category = self.get_index_category_from_id(permutation.id_category) self.categories[index_category].add_product_permutation(permutation) - """ - def add_product_variation(self, variation): - av.val_instance(variation, 'variation', 'Container_Product_Categories.add_product_variation', Product_Variation) - index_category = self.get_index_category_from_id(variation.id_category) - self.categories[index_category].add_product_variation(variation) - """ def add_product_variation_type(self, variation_type): av.val_instance(variation_type, 'variation_type', 'Container_Product_Categories.add_product_variation_type', Product_Variation_Type) variation = variation_type.variations[0] @@ -396,13 +263,6 @@ class Product_Category_Container(Store_Base): category.get_all_product_variation_trees() def __repr__(self): return f'categories: {self.categories}' - """ - def get_permutation_first(self): - Helper_App.console_log(f'getting first permutation from category list') - if not (len(self.categories) == 0): - Helper_App.console_log(f'getting first permutation from category') - return None if len(self.categories) == 0 else self.categories[0].get_permutation_first() - """ def get_category_count(self): return len(self.categories) def to_permutation_row_list(self): @@ -418,11 +278,6 @@ class Product_Category_Container(Store_Base): def get_list_products(self): list_products = [] for category in self.categories: - # list_products.append(category.to_product_option_list()) - """ - for product in category.products: - list_products.append({'value': product.id_product, 'text': product.name, Product.ATTR_ID_PRODUCT_CATEGORY: product.id_category}) - """ list_products += category.products return list_products def to_product_option_list(self): @@ -438,12 +293,6 @@ class Product_Category_Container(Store_Base): **self.get_shared_json_attributes(self), f'{self.FLAG_ROWS}': [category.to_json() for category in self.categories] } - """ - def to_json_str(self): - return { - f'{self.FLAG_ROWS}': [category.to_json_str() for category in self.categories] - } - """ @classmethod def from_json(cls, json): return None @@ -479,7 +328,7 @@ class Product_Category_Temp(db.Model, Store_Base): def __init__(self): super().__init__() self.id_temp = None - + @classmethod def from_product_category(cls, product_category): row = cls() diff --git a/business_objects/store/product_permutation.py b/business_objects/store/product_permutation.py index 8cdcb066..4830d220 100644 --- a/business_objects/store/product_permutation.py +++ b/business_objects/store/product_permutation.py @@ -15,7 +15,6 @@ import lib.argument_validation as av from lib import data_types from forms.forms import Form_Basket_Add, Form_Basket_Edit from business_objects.currency import Currency -from business_objects.store.delivery_option import Delivery_Option from business_objects.store.discount import Discount from business_objects.store.image import Image from business_objects.store.product_price import Product_Price @@ -68,16 +67,7 @@ class Product_Permutation(db.Model, Store_Base): id_product = db.Column(db.Integer) id_category = db.Column(db.Integer) csv_id_pairs_variation = db.Column(db.String(4000)) - # name = db.Column(db.String(255)) description = db.Column(db.String(4000)) - # price_GBP_full = db.Column(db.Float) - # price_GBP_min = db.Column(db.Float) - """ - id_currency_cost = db.Column(db.Integer) - code_currency_cost = db.Column(db.String(3)) - symbol_currency_cost = db.Column(db.String(3)) - """ - # currency_cost: Currency cost_local_VAT_excl = db.Column(db.Float) cost_local_VAT_incl = db.Column(db.Float) profit_local_min = db.Column(db.Float) @@ -109,15 +99,9 @@ class Product_Permutation(db.Model, Store_Base): count_interval_expiration_unsealed = db.Column(db.Integer) has_variations = db.Column(db.Boolean) active = db.Column(db.Boolean) - # display_order = db.Column(db.Integer) can_view = db.Column(db.Boolean) can_edit = db.Column(db.Boolean) can_admin = db.Column(db.Boolean) - # form_basket_add: Form_Basket_Add - # form_basket_edit: Form_Basket_Edit - # is_unavailable_in_currency_or_region: bool - # is_available: bool - # variation_tree def __init__(self): self.prices = [] @@ -136,9 +120,7 @@ class Product_Permutation(db.Model, Store_Base): self.form_basket_add = Form_Basket_Add() self.form_basket_edit = Form_Basket_Edit() self.is_unavailable_in_currency_or_region = False - # self.is_available = False self.variation_tree = None - # self.variations = [] @classmethod def from_DB_get_many_product_catalogue(cls, query_row): _m = f'{cls.__name__}.from_DB_get_many_product_catalogue' @@ -180,7 +162,6 @@ class Product_Permutation(db.Model, Store_Base): permutation.count_interval_expiration_unsealed = query_row[34] permutation.has_variations = av.input_bool(query_row[35], cls.FLAG_HAS_VARIATIONS, _m, v_arg_type=v_arg_type) permutation.active = av.input_bool(query_row[36], cls.FLAG_ACTIVE, _m, v_arg_type=v_arg_type) - # permutation.display_order = query_row[27] permutation.can_view = av.input_bool(query_row[37], "can_view", _m, v_arg_type=v_arg_type) permutation.can_edit = av.input_bool(query_row[38], "can_edit", _m, v_arg_type=v_arg_type) permutation.can_admin = av.input_bool(query_row[39], "can_admin", _m, v_arg_type=v_arg_type) @@ -191,7 +172,6 @@ class Product_Permutation(db.Model, Store_Base): v_arg_type = 'class attribute' permutation = Product_Permutation() permutation.id_product = query_row[0] - # permutation.name = query_row[1] permutation.description = query_row[2] return permutation @@ -200,21 +180,11 @@ class Product_Permutation(db.Model, Store_Base): v_arg_type = 'class attribute' permutation = Product_Permutation() permutation.id_product = query_row[0] - # permutation.price_GBP_full = query_row[1] permutation.id_stripe_product = query_row[2] permutation.is_subscription = av.input_bool(query_row[3], "is_subscription", _m, v_arg_type=v_arg_type) permutation.name_singular_unit_measurement_interval_recurrence = query_row[4] permutation.count_interval_recurrence = query_row[5] return permutation - """ - def from_json(json_basket_item, key_id_product, key_id_permutation): - _m = 'Product_Permutation.from_json' - v_arg_type = 'class attribute' - permutation = Product_Permutation() - permutation.id_product = json_basket_item[key_id_product] - permutation.id_permutation = json_basket_item[key_id_permutation] - return permutation - """ @classmethod def from_json(cls, json): _m = f'{cls.__name__}.from_json' @@ -257,11 +227,6 @@ class Product_Permutation(db.Model, Store_Base): if permutation.has_variations: permutation.csv_id_pairs_variation = json[cls.FLAG_PRODUCT_VARIATIONS] permutation.variation_tree = Product_Variation_Tree.from_json_str(permutation.csv_id_pairs_variation) - """ - for jsonProductVariation in json[cls.FLAG_PRODUCT_VARIATIONS]: - variation = Product_Variation.from_json(jsonProductVariation) - permutation.add_product_variation(variation) - """ return permutation def to_json(self): return { @@ -327,29 +292,6 @@ class Product_Permutation(db.Model, Store_Base): def output_delivery_date(self): return (datetime.now() + timedelta(days=self.latency_manufacture)).strftime('%A, %d %B %Y') - """ - def output_lead_time(self): - return '1 day' if self.latency_manufacture == 1 else f'{self.latency_manufacture} days' - - def output_price(self, is_included_VAT): - if self.is_unavailable_in_currency_or_region: - return 'Not available in currency and region' - if not self.is_available: - return 'Not available' - price = self.get_price() - locale.setlocale(locale.LC_ALL, '') - if is_included_VAT: - return f'{price.symbol_currency} {locale.format_string("%d", price.value_local_VAT_incl, grouping=True)}' - else: - return f'{price.symbol_currency} {locale.format_string("%d", price.value_local_VAT_excl, grouping=True)}' - def output_variations(self): - if not self.has_variations: return '' - return '\n'.join([f'{variation.name_variation_type}: {variation.name_variation}' for variation in self.variations]) - def output_variations_jsonify(self): - if not self.has_variations: return '' - return ','.join([f'{variation.id_type}: {variation.id_variation}' for variation in self.variations]) - """ - def __repr__(self): return f'''Product_Permutation id_permutation: {self.id_permutation} @@ -394,27 +336,7 @@ class Product_Permutation(db.Model, Store_Base): delivery_options: {self.delivery_options} prices: {self.prices} ''' - """ - price_GBP_full: {self.price_GBP_full} - price_GBP_min: {self.price_GBP_min} - """ - """ - def add_product_variation(self, variation): - _m = 'Product_Permutation.add_product_variation' - "" - av.val_instance(variation, 'variation', _m, Product_Variation) - try: - self.variation_index[variation.id_variation] - raise ValueError(f"{av.error_msg_str(variation, 'variation', _m, Product_Variation)}\nProduct_Variation already in product.") - except KeyError: - self.variation_index[variation.id_variation] = len(self.variations) - self.variations.append(variation) - "" - if self.variation_tree is None: - self.variation_tree = Product_Variation_Tree.from_product_variation(variation) - else: - self.variation_tree.add_product_variation(variation) - """ + def add_product_variation_type(self, variation_type): _m = 'Product_Permutation.add_product_variation_type' if self.variation_tree is None: @@ -487,23 +409,6 @@ class Product_Permutation(db.Model, Store_Base): return a -""" -class Permutation_Product_Variation_Link(db.Model): - id_permutation = db.Column(db.Integer) - id_product = db.Column(db.Integer) - id_category = db.Column(db.Integer) - id_variation = db.Column(db.Integer) - - def from_DB_get_many_product_catalogue(query_row): - _m = 'Permutation_Product_Variation_Link.from_DB_get_many_product_catalogue' - v_arg_type = 'class attribute' - link = Permutation_Product_Variation_Link() - link.id_permutation = query_row[0] - link.id_product = query_row[1] - link.id_category = query_row[2] - link.id_variation = query_row[3] - return link -""" class Product_Permutation_Temp(db.Model, Store_Base): __tablename__: ClassVar[str] = 'Shop_Product_Permutation_Temp' @@ -588,30 +493,4 @@ class Product_Permutation_Temp(db.Model, Store_Base): active: {self.active} guid: {self.guid} ''' - """ - def to_json(self): - return { - self.ATTR_ID_PRODUCT_PERMUTATION: int(self.id_permutation), - self.ATTR_ID_PRODUCT: int(self.id_product), - self.FLAG_DESCRIPTION: self.description, - Product_Permutation.FLAG_COST_LOCAL: float(self.cost_local), - Product_Permutation.FLAG_CURRENCY_COST: int(self.id_currency_cost), - Product_Permutation.FLAG_PROFIT_LOCAL_MIN: float(self.profit_local_min), - Product_Permutation.FLAG_LATENCY_MANUFACTURE: int(self.latency_manufacture), - Product_Permutation.FLAG_UNIT_MEASUREMENT_QUANTITY: int(self.id_unit_measurement_quantity), - Product_Permutation.FLAG_COUNT_UNIT_MEASUREMENT_PER_QUANTITY_STEP: float(self.count_unit_measurement_per_quantity_step), - self.FLAG_QUANTITY_MIN: float(self.quantity_min), - self.FLAG_QUANTITY_MAX: float(self.quantity_max), - Product_Permutation.FLAG_QUANTITY_STOCK: float(self.quantity_stock), - Product_Permutation.FLAG_IS_SUBSCRIPTION: bool(self.is_subscription), - Product_Permutation.FLAG_UNIT_MEASUREMENT_INTERVAL_RECURRENCE: int(self.id_unit_measurement_interval_recurrence) if self.id_unit_measurement_interval_recurrence != '' else None, - Product_Permutation.FLAG_COUNT_UNIT_MEASUREMENT_INTERVAL_RECURRENCE: float(self.count_interval_recurrence) if self.count_interval_recurrence != '' else None, - Product_Permutation.FLAG_ID_STRIPE_PRODUCT: self.id_stripe_product, - Product_Permutation.FLAG_DOES_EXPIRE_FASTER_ONCE_UNSEALED: bool(self.does_expire_faster_once_unsealed), - Product_Permutation.FLAG_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED: int(self.id_unit_measurement_interval_expiration_unsealed) if self.id_unit_measurement_interval_expiration_unsealed != '' else None, - Product_Permutation.FLAG_COUNT_UNIT_MEASUREMENT_INTERVAL_EXPIRATION_UNSEALED: float(self.count_interval_expiration_unsealed) if self.count_interval_expiration_unsealed != '' else None, - self.FLAG_ACTIVE: bool(self.active), - self.FLAG_GUID: self.guid - } - """ \ No newline at end of file diff --git a/business_objects/store/product_price.py b/business_objects/store/product_price.py index 4822836c..023dee0b 100644 --- a/business_objects/store/product_price.py +++ b/business_objects/store/product_price.py @@ -27,13 +27,6 @@ class Product_Price(db.Model, Store_Base): id_permutation = db.Column(db.Integer) id_product = db.Column(db.Integer) id_category = db.Column(db.Integer) - """ - id_currency = db.Column(db.Integer) - code_currency = db.Column(db.String(50)) - name_currency = db.Column(db.String(255)) - symbol_currency = db.Column(db.String(50)) - """ - # id_region = db.Column(db.Integer) value_local_VAT_incl = db.Column(db.Float) value_local_VAT_excl = db.Column(db.Float) display_order = db.Column(db.Float) @@ -45,20 +38,12 @@ class Product_Price(db.Model, Store_Base): self.delivery_region = None @classmethod def from_DB_get_many_product_catalogue(cls, query_row): - # _m = 'Product_Price.from_DB_get_many_product_catalogue' price = cls() price.id_price = query_row[0] price.id_permutation = query_row[1] price.id_product = query_row[2] price.id_category = query_row[3] price.currency = Currency.from_DB_get_many_product_price_and_discount_and_delivery_region(query_row) - """ - price.id_currency = query_row[4] - price.code_currency = query_row[5] - price.name_currency = query_row[6] - price.symbol_currency = query_row[7] - """ - # price.id_region = query_row[8] price.value_local_VAT_incl = query_row[9] price.value_local_VAT_excl = query_row[10] price.display_order = query_row[11] @@ -85,7 +70,6 @@ class Product_Price(db.Model, Store_Base): self.ATTR_ID_PRODUCT: self.id_product, self.ATTR_ID_PRODUCT_CATEGORY: self.id_category, self.FLAG_CURRENCY: self.currency.to_json(), - # Region.ATTR_ID_REGION_DELIVERY: self.id_region, self.FLAG_VALUE_LOCAL_VAT_INCL: self.value_local_VAT_incl, self.FLAG_VALUE_LOCAL_VAT_EXCL: self.value_local_VAT_excl, self.FLAG_DISPLAY_ORDER: self.display_order @@ -99,7 +83,6 @@ class Product_Price(db.Model, Store_Base): price.id_product = json[cls.ATTR_ID_PRODUCT] price.id_category = json[cls.ATTR_ID_PRODUCT_CATEGORY] price.currency = Currency.from_json(json) - # price.id_region = json[Region.ATTR_ID_REGION_DELIVERY] price.value_local_VAT_incl = json[cls.FLAG_VALUE_LOCAL_VAT_INCL] price.value_local_VAT_excl = json[cls.FLAG_VALUE_LOCAL_VAT_EXCL] price.display_order = json[cls.FLAG_DISPLAY_ORDER] diff --git a/config.py b/config.py index 2a453875..027d8ee6 100644 --- a/config.py +++ b/config.py @@ -22,7 +22,7 @@ class Config: is_production = False DB_HOST = os.getenv('DB_HOST') - DB_NAME = os.getenv('partsltd_prod') + DB_NAME = os.getenv('demo') DB_PASSWORD = os.getenv('DB_PASSWORD') DB_USER = os.getenv('DB_USER') DEBUG = False diff --git a/static/MySQL/0000_combined.sql b/static/MySQL/0000_combined.sql index 1d55efd4..7cc4c6fe 100644 --- a/static/MySQL/0000_combined.sql +++ b/static/MySQL/0000_combined.sql @@ -1,10 +1,8 @@ --- Combined SQL files -DROP DATABASE IF EXISTS partsltd_prod; -CREATE DATABASE partsltd_prod; -USE partsltd_prod; --- File: 0001_destroy.sql +CREATE DATABASE IF NOT EXISTS demo; + +USE demo; /* Clear Store DataBase */ @@ -343,9 +341,6 @@ DROP PROCEDURE IF EXISTS p_shop_get_many_customer; DROP PROCEDURE IF EXISTS p_shop_save_customer_sales_order; DROP PROCEDURE IF EXISTS p_shop_get_many_customer_sales_order; - --- File: 1000_tbl_Shop_Product_Change_Set.sql - # Product Change Sets @@ -358,11 +353,8 @@ CREATE TABLE Shop_Product_Change_Set ( updated_last_on DATETIME, updated_last_by VARCHAR(100) ); - --- File: 1000_tbl_Split_Temp.sql - # Split Staging --- USE partsltd_prod; +-- USE demo; -- DROP TABLE IF EXISTS Split_Temp; SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Split_Temp'; @@ -373,9 +365,6 @@ CREATE TABLE Split_Temp ( , substring VARCHAR(4000) NOT NULL ); - --- File: 1001_tbl_Shop_User_Change_Set.sql - # User Change Sets @@ -388,11 +377,8 @@ CREATE TABLE IF NOT EXISTS Shop_User_Change_Set ( updated_last_on DATETIME, updated_last_by VARCHAR(100) ); - --- File: 1001_tbl_Split_Key_Value_Pair_Csv_Temp.sql - # Split Key Value Pair CSV Staging --- USE partsltd_prod; +-- USE demo; -- DROP TABLE IF EXISTS Split_Temp; SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Split_Key_Value_Pair_Csv_Temp'; @@ -404,9 +390,6 @@ CREATE TABLE Split_Key_Value_Pair_Csv_Temp ( , value_column VARCHAR(4000) NULL ); - --- File: 1002_tbl_Shop_Sales_And_Purchasing_Change_Set.sql - # Sales And Purchasing Change Sets @@ -419,9 +402,6 @@ CREATE TABLE Shop_Sales_And_Purchasing_Change_Set ( updated_last_on DATETIME, updated_last_by VARCHAR(100) ); - --- File: 1003_tbl_Shop_Access_Level.sql - # Access Levels @@ -445,9 +425,6 @@ CREATE TABLE IF NOT EXISTS Shop_Access_Level ( - --- File: 1004_tbl_Shop_Access_Level_Audit.sql - # Access Level Audits @@ -469,9 +446,6 @@ CREATE TABLE IF NOT EXISTS Shop_Access_Level_Audit ( FOREIGN KEY (id_change_set) REFERENCES Shop_User_Change_Set(id_change_set) ); - --- File: 1005_tbl_Msg_Error_Type.sql - # Error Message Type @@ -485,9 +459,6 @@ CREATE TABLE IF NOT EXISTS Shop_Msg_Error_Type ( description VARCHAR(1000) ); - --- File: 1010_tbl_File_Type.sql - # File Types @@ -505,9 +476,6 @@ CREATE TABLE IF NOT EXISTS File_Type ( updated_last_by VARCHAR(100) ); - --- File: 1011_tbl_File_Type_Audit.sql - # File Type Audit @@ -529,9 +497,6 @@ CREATE TABLE IF NOT EXISTS File_Type_Audit ( updated_last_on DATETIME, updated_last_by VARCHAR(100) ); - --- File: 1012_tbl_Shop_General.sql - # Generic / shared properties @@ -548,9 +513,6 @@ CREATE TABLE IF NOT EXISTS Shop_General ( FOREIGN KEY (id_change_set) REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1013_tbl_Shop_General_Audit.sql - # Shop General Audits @@ -572,9 +534,6 @@ CREATE TABLE IF NOT EXISTS Shop_General_Audit ( FOREIGN KEY (id_change_set) REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1014_tbl_Shop_Image_Type.sql - # Image Types @@ -602,9 +561,6 @@ CREATE TABLE IF NOT EXISTS Shop_Image_Type ( REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1015_tbl_Shop_Image_Type_Audit.sql - # Image Type Audits @@ -626,9 +582,6 @@ CREATE TABLE IF NOT EXISTS Shop_Image_Type_Audit ( FOREIGN KEY (id_change_set) REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1100_tbl_Shop_Region.sql - # Regions SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Region'; @@ -646,9 +599,6 @@ CREATE TABLE IF NOT EXISTS Shop_Region ( FOREIGN KEY (id_change_set) REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1101_tbl_Shop_Region_Audit.sql - # Region Audits @@ -670,9 +620,6 @@ CREATE TABLE IF NOT EXISTS Shop_Region_Audit ( FOREIGN KEY (id_change_set) REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1102_tbl_Shop_Region_Temp.sql - # Region Temp @@ -692,9 +639,6 @@ CREATE TABLE IF NOT EXISTS Shop_Region_Temp ( FOREIGN KEY (id_change_set) REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1103_tbl_Shop_Region_Branch.sql - # Region Branchs @@ -723,9 +667,6 @@ CREATE TABLE IF NOT EXISTS Shop_Region_Branch ( FOREIGN KEY (id_change_set) REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1104_tbl_Shop_Region_Branch_Audit.sql - # Region Audits @@ -747,9 +688,6 @@ CREATE TABLE IF NOT EXISTS Shop_Region_Branch_Audit ( FOREIGN KEY (id_change_set) REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1105_tbl_Shop_Region_Branch_Temp.sql - # Region Branch Temp @@ -764,9 +702,6 @@ CREATE TABLE IF NOT EXISTS Shop_Region_Branch_Temp ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL ); - --- File: 1106_tbl_Shop_Address.sql - # Addresses @@ -777,12 +712,12 @@ CREATE TABLE Shop_Address ( , id_region INT NOT NULL , CONSTRAINT FK_Shop_Address_id_region FOREIGN KEY (id_region) - REFERENCES partsltd_prod.Shop_Region(id_region) + REFERENCES demo.Shop_Region(id_region) /* , id_supplier INT NULL , CONSTRAINT FK_Shop_Address_id_supplier FOREIGN KEY (id_supplier) - REFERENCES partsltd_prod.Shop_Supplier(id_supplier) + REFERENCES demo.Shop_Supplier(id_supplier) */ , postcode VARCHAR(20) NOT NULL , address_line_1 VARCHAR(256) NOT NULL @@ -795,11 +730,8 @@ CREATE TABLE Shop_Address ( , id_change_set INT , CONSTRAINT FK_Shop_Address_id_change_set FOREIGN KEY (id_change_set) - REFERENCES partsltd_prod.Shop_User_Change_Set(id_change_set) + REFERENCES demo.Shop_User_Change_Set(id_change_set) ); - --- File: 1106_tbl_Shop_Plant.sql - # Plant SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Plant'; @@ -822,9 +754,6 @@ CREATE TABLE IF NOT EXISTS Shop_Plant ( REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1107_tbl_Shop_Address_Audit.sql - # Address Audits SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Address_Audit'; @@ -845,9 +774,6 @@ CREATE TABLE IF NOT EXISTS Shop_Address_Audit ( REFERENCES Shop_User_Change_Set(id_change_set) ON UPDATE RESTRICT ); - --- File: 1107_tbl_Shop_Plant_Audit.sql - # Plant Audits @@ -870,9 +796,6 @@ CREATE TABLE IF NOT EXISTS Shop_Plant_Audit ( REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1108_tbl_Shop_Plant_Temp.sql - # Plant Temp @@ -889,9 +812,6 @@ CREATE TABLE IF NOT EXISTS Shop_Plant_Temp ( , guid BINARY(36) NOT NULL ); - --- File: 1109_tbl_Shop_Storage_Location.sql - # Storage Location @@ -915,9 +835,6 @@ CREATE TABLE IF NOT EXISTS Shop_Storage_Location ( REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1110_tbl_Shop_Storage_Location_Audit.sql - # Storage Location Audits @@ -940,9 +857,6 @@ CREATE TABLE IF NOT EXISTS Shop_Storage_Location_Audit ( REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1111_tbl_Shop_Storage_Location_Temp.sql - # Storage Location Temp @@ -956,9 +870,6 @@ CREATE TABLE IF NOT EXISTS Shop_Storage_Location ( active BIT NOT NULL DEFAULT 1 ); - --- File: 1112_tbl_Shop_Storage_Location_Branch.sql - # Storage Location Branch @@ -987,9 +898,6 @@ CREATE TABLE IF NOT EXISTS Shop_Storage_Location_Branch ( FOREIGN KEY (id_change_set) REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1113_tbl_Shop_Storage_Location_Branch_Audit.sql - # Storage Location Branch Audits @@ -1012,9 +920,6 @@ CREATE TABLE IF NOT EXISTS Shop_Storage_Location_Branch_Audit ( REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1114_tbl_Shop_Storage_Location_Branch_Temp.sql - # Storage Location Branch Temp @@ -1029,9 +934,6 @@ CREATE TABLE IF NOT EXISTS Shop_Storage_Location_Branch_Temp ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL ); - --- File: 1115_tbl_Shop_Currency.sql - # Currencies @@ -1054,9 +956,6 @@ CREATE TABLE IF NOT EXISTS Shop_Currency ( REFERENCES Shop_Product_Change_Set(id_change_set) ON UPDATE RESTRICT ); - --- File: 1116_tbl_Shop_Currency_Audit.sql - # Currency Audits @@ -1079,9 +978,6 @@ CREATE TABLE IF NOT EXISTS Shop_Currency_Audit ( REFERENCES Shop_User_Change_Set(id_change_set) ON UPDATE RESTRICT ); - --- File: 1117_tbl_Shop_Currency_Temp.sql - # Currency Temp @@ -1097,9 +993,6 @@ CREATE TABLE IF NOT EXISTS Shop_Currency_Temp ( active BIT NOT NULL DEFAULT 1, display_order INT NOT NULL ); - --- File: 1118_tbl_Shop_Tax_Or_Surcharge.sql - # Taxes and Surcharges @@ -1138,9 +1031,6 @@ CREATE TABLE Shop_Tax_Or_Surcharge ( REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1119_tbl_Shop_Tax_Or_Surcharge_Audit.sql - # Tax Or Surcharge Audits @@ -1163,9 +1053,6 @@ CREATE TABLE IF NOT EXISTS Shop_Tax_Or_Surcharge_Audit ( REFERENCES Shop_Product_Change_Set(id_change_set) ON UPDATE RESTRICT ); - --- File: 1120_tbl_Shop_Tax_Or_Surcharge_Temp.sql - # Taxes and Surcharges Temp @@ -1188,9 +1075,6 @@ CREATE TABLE Shop_Tax_Or_Surcharge_Temp ( display_order INT NOT NULL ); - --- File: 1121_tbl_Shop_Unit_Measurement.sql - # Unit of Measurement @@ -1217,9 +1101,6 @@ CREATE TABLE IF NOT EXISTS Shop_Unit_Measurement ( REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1122_tbl_Shop_Unit_Measurement_Audit.sql - # Unit of Measurement Audits @@ -1242,9 +1123,6 @@ CREATE TABLE IF NOT EXISTS Shop_Unit_Measurement_Audit ( REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1124_tbl_Shop_Unit_Measurement_Conversion.sql - # Unit of Measurement Conversion @@ -1268,9 +1146,6 @@ CREATE TABLE IF NOT EXISTS Shop_Unit_Measurement_Conversion ( REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1125_tbl_Shop_Unit_Measurement_Conversion_Audit.sql - # Unit of Measurement Conversion Audits @@ -1293,9 +1168,6 @@ CREATE TABLE IF NOT EXISTS Shop_Unit_Measurement_Conversion_Audit ( REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1200_tbl_Shop_Product_Category.sql - # Categories @@ -1320,9 +1192,6 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Category ( REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1201_tbl_Shop_Product_Category_Audit.sql - # Category Audits @@ -1345,9 +1214,6 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Category_Audit ( REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1202_tbl_Shop_Product_Category_Temp.sql - # Categories Temp -- DROP TABLE Shop_Product_Category_Temp; @@ -1369,9 +1235,6 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Category_Temp ( , guid BINARY(36) NOT NULL ); - --- File: 1203_tbl_Shop_Product.sql - # Products @@ -1420,9 +1283,6 @@ CREATE TABLE IF NOT EXISTS Shop_Product ( REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1204_tbl_Shop_Product_Audit.sql - # Products @@ -1444,9 +1304,6 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Audit ( FOREIGN KEY (id_change_set) REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1205_tbl_Shop_Product_Temp.sql - # Products Temp -- DROP TABLE IF EXISTS Shop_Product_Temp; @@ -1468,12 +1325,9 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Temp ( , guid BINARY(36) NOT NULL ); - --- File: 1206_tbl_Shop_Product_Permutation.sql - # Product Permutation --- DROP TABLE partsltd_prod.Shop_Product_Permutation; +-- DROP TABLE demo.Shop_Product_Permutation; SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Permutation'; @@ -1532,9 +1386,6 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation ( REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1207_tbl_Shop_Product_Permutation_Audit.sql - # Product Permutation Audits @@ -1558,9 +1409,6 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation_Audit ( ON UPDATE RESTRICT ); - --- File: 1208_tbl_Shop_Product_Permutation_Temp.sql - # Product Permutation Temp -- DROP TABLE IF EXISTS Shop_Product_Permutation_Temp; @@ -1598,9 +1446,6 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation_Temp ( , can_admin BIT NULL DEFAULT NULL ); - --- File: 1209_tbl_Shop_Variation_Type.sql - # Variation Types @@ -1622,9 +1467,6 @@ CREATE TABLE IF NOT EXISTS Shop_Variation_Type ( FOREIGN KEY (id_change_set) REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1210_tbl_Shop_Variation_Type_Audit.sql - # Variation Type Audits @@ -1647,12 +1489,9 @@ CREATE TABLE IF NOT EXISTS Shop_Variation_Type_Audit ( REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1211_tbl_Shop_Variation_Type_Temp.sql - # Variation Types Temp --- DROP TABLE partsltd_prod.Shop_Variation_Type_Temp; +-- DROP TABLE demo.Shop_Variation_Type_Temp; SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Variation_Type_Temp'; @@ -1669,9 +1508,6 @@ CREATE TABLE IF NOT EXISTS Shop_Variation_Type_Temp ( , created_by INT , guid BINARY(36) NOT NULL ); - --- File: 1212_tbl_Shop_Variation.sql - # Variations @@ -1683,12 +1519,12 @@ CREATE TABLE Shop_Variation ( , id_type INT NOT NULL , CONSTRAINT FK_Shop_Variation_id_type FOREIGN KEY (id_type) - REFERENCES partsltd_prod.Shop_Variation_Type(id_type) + REFERENCES demo.Shop_Variation_Type(id_type) ON UPDATE RESTRICT , id_unit_measurement INT NULL , CONSTRAINT FK_Shop_Unit_Measurement_id_unit_measurement FOREIGN KEY (id_unit_measurement) - REFERENCES partsltd_prod.Shop_Unit_Measurement(id_unit_measurement) + REFERENCES demo.Shop_Unit_Measurement(id_unit_measurement) , count_unit_measurement INT NULL , code VARCHAR(50) , name VARCHAR(255) @@ -1699,12 +1535,9 @@ CREATE TABLE Shop_Variation ( , id_change_set INT , CONSTRAINT FK_Shop_Variation_id_change_set FOREIGN KEY (id_change_set) - REFERENCES partsltd_prod.Shop_Product_Change_Set(id_change_set) + REFERENCES demo.Shop_Product_Change_Set(id_change_set) ); - --- File: 1213_tbl_Shop_Variation_Audit.sql - # Variation Audits @@ -1727,12 +1560,9 @@ CREATE TABLE IF NOT EXISTS Shop_Variation_Audit ( REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1214_tbl_Shop_Variation_Temp.sql - # Variations Temp --- DROP TABLE partsltd_prod.Shop_Variation_Temp; +-- DROP TABLE demo.Shop_Variation_Temp; SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Variation_Temp'; @@ -1751,9 +1581,6 @@ CREATE TABLE Shop_Variation_Temp ( , guid BINARY(36) ); - --- File: 1215_tbl_Shop_Product_Permutation_Variation_Link.sql - # Product Permutation Variation Link @@ -1782,9 +1609,6 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation_Variation_Link ( REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1216_tbl_Shop_Product_Permutation_Variation_Link_Audit.sql - # Product Permutation Variation Link Audits @@ -1807,9 +1631,6 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation_Variation_Link_Audit ( REFERENCES Shop_Product_Change_Set(id_change_set) ON UPDATE RESTRICT ); - --- File: 1217_tbl_Shop_Product_Permutation_Variation_Link_Temp.sql - # Product Permutation Variation Link -- DROP TABLE IF EXISTS Shop_Product_Permutation_Variation_Link_Temp; @@ -1826,9 +1647,6 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation_Variation_Link_Temp ( , GUID BINARY(36) NOT NULL ); - --- File: 1221_tbl_Shop_Product_Price.sql - # Product Price @@ -1860,9 +1678,6 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Price ( FOREIGN KEY (id_change_set) REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1222_tbl_Shop_Product_Price_Audit.sql - # Product Price Audits @@ -1885,9 +1700,6 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Price_Audit ( REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1223_tbl_Shop_Product_Price_Temp.sql - # Product Price Temp @@ -1904,9 +1716,6 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Price_Temp ( id_stripe_price VARCHAR(200), active BIT NOT NULL DEFAULT 1 ); - --- File: 1224_tbl_Shop_Product_Image.sql - # Product Permutation Images @@ -1933,9 +1742,6 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Image ( FOREIGN KEY (id_change_set) REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1225_tbl_Shop_Product_Image_Audit.sql - # Product Image Audits @@ -1956,9 +1762,6 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Image_Audit ( FOREIGN KEY (id_change_set) REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1227_tbl_Shop_Delivery_Option.sql - # Delivery Options @@ -1986,9 +1789,6 @@ CREATE TABLE IF NOT EXISTS Shop_Delivery_Option ( REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1228_tbl_Shop_Delivery_Option_Audit.sql - # Delivery Option Audits @@ -2010,9 +1810,6 @@ CREATE TABLE IF NOT EXISTS Shop_Delivery_Option_Audit ( FOREIGN KEY (id_change_set) REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1230_tbl_Shop_Product_Permutation_Delivery_Option_Link.sql - # Delivery Option @@ -2058,9 +1855,6 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation_Delivery_Option_Link ( FOREIGN KEY (id_change_set) REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1231_tbl_Shop_Product_Permutation_Delivery_Option_Link_Audit.sql - # Delivery Option Audits @@ -2082,9 +1876,6 @@ CREATE TABLE IF NOT EXISTS Shop_Product_Permutation_Delivery_Option_Link_Audit ( FOREIGN KEY (id_change_set) REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1233_tbl_Shop_Discount.sql - # Discounts @@ -2133,9 +1924,6 @@ CREATE TABLE Shop_Discount ( REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1234_tbl_Shop_Discount_Audit.sql - # Discount Audits @@ -2158,9 +1946,6 @@ CREATE TABLE IF NOT EXISTS Shop_Discount_Audit ( REFERENCES Shop_Product_Change_Set(id_change_set) ON UPDATE RESTRICT ); - --- File: 1236_tbl_Shop_Discount_Region_Currency_Link.sql - # Discount Region Currency Link @@ -2192,9 +1977,6 @@ CREATE TABLE IF NOT EXISTS Shop_Discount_Region_Currency_Link ( FOREIGN KEY (id_change_set) REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1237_tbl_Shop_Discount_Region_Currency_Link_Audit.sql - # Discount Region Currency Link Audits @@ -2217,9 +1999,6 @@ CREATE TABLE IF NOT EXISTS Shop_Discount_Region_Currency_Link_Audit ( REFERENCES Shop_Product_Change_Set(id_change_set) ON UPDATE RESTRICT ); - --- File: 1300_tbl_Shop_Permission_Group.sql - # Permission Groups @@ -2240,9 +2019,6 @@ CREATE TABLE IF NOT EXISTS Shop_Permission_Group ( REFERENCES Shop_User_Change_Set(id_change_set) ON UPDATE RESTRICT ); - --- File: 1301_tbl_Shop_Permission_Group_Audit.sql - # Permission Group Audits @@ -2265,9 +2041,6 @@ CREATE TABLE IF NOT EXISTS Shop_Permission_Group_Audit ( REFERENCES Shop_User_Change_Set(id_change_set) ON UPDATE RESTRICT ); - --- File: 1303_tbl_Shop_Permission.sql - # Permissions @@ -2296,9 +2069,6 @@ CREATE TABLE IF NOT EXISTS Shop_Permission ( FOREIGN KEY (id_change_set) REFERENCES Shop_User_Change_Set(id_change_set) ); - --- File: 1304_tbl_Shop_Permission_Audit.sql - # Permission Audits @@ -2321,9 +2091,6 @@ CREATE TABLE IF NOT EXISTS Shop_Permission_Audit ( REFERENCES Shop_User_Change_Set(id_change_set) ON UPDATE RESTRICT ); - --- File: 1306_tbl_Shop_Role.sql - # Roles @@ -2343,9 +2110,6 @@ CREATE TABLE IF NOT EXISTS Shop_Role ( FOREIGN KEY (id_change_set) REFERENCES Shop_User_Change_Set(id_change_set) ); - --- File: 1307_tbl_Shop_Role_Audit.sql - # Role Audits @@ -2368,9 +2132,6 @@ CREATE TABLE Shop_Role_Audit ( REFERENCES Shop_User_Change_Set(id_change_set) ON UPDATE RESTRICT ); - --- File: 1309_tbl_Shop_Role_Permission_Link.sql - # Role Permission link @@ -2401,9 +2162,6 @@ CREATE TABLE IF NOT EXISTS Shop_Role_Permission_Link ( FOREIGN KEY (id_change_set) REFERENCES Shop_User_Change_Set(id_change_set) ); - --- File: 1310_tbl_Shop_Role_Permission_Link_Audit.sql - # Role Permission link Audits @@ -2425,9 +2183,6 @@ CREATE TABLE IF NOT EXISTS Shop_Role_Permission_Link_Audit ( FOREIGN KEY (id_change_set) REFERENCES Shop_User_Change_Set(id_change_set) ); - --- File: 1312_tbl_Shop_User.sql - # Users @@ -2454,9 +2209,6 @@ CREATE TABLE IF NOT EXISTS Shop_User ( REFERENCES Shop_User_Change_Set(id_change_set) ); - --- File: 1313_tbl_Shop_User_Audit.sql - # User Audits @@ -2479,9 +2231,6 @@ CREATE TABLE IF NOT EXISTS Shop_User_Audit ( REFERENCES Shop_User_Change_Set(id_change_set) ON UPDATE RESTRICT ); - --- File: 1314_tbl_Shop_User_Temp.sql - # Users Temp -- DROP TABLE IF EXISTS Shop_User_Temp; @@ -2504,9 +2253,6 @@ CREATE TABLE IF NOT EXISTS Shop_User_Temp ( , guid BINARY(36) NOT NULL ); - --- File: 1315_tbl_Shop_User_Role_Link.sql - # User Role link @@ -2532,9 +2278,6 @@ CREATE TABLE IF NOT EXISTS Shop_User_Role_Link ( FOREIGN KEY (id_change_set) REFERENCES Shop_User_Change_Set(id_change_set) ); - --- File: 1316_tbl_Shop_User_Role_Link_Audit.sql - # User Role Link Audits @@ -2557,9 +2300,6 @@ CREATE TABLE IF NOT EXISTS Shop_User_Role_Link_Audit ( REFERENCES Shop_User_Change_Set(id_change_set) ); - --- File: 1318_tbl_Shop_User_Address.sql - # User Addresses SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_User_Address'; @@ -2588,9 +2328,6 @@ CREATE TABLE Shop_User_Address ( FOREIGN KEY (id_change_set) REFERENCES Shop_User_Change_Set(id_change_set) ); - --- File: 1319_tbl_Shop_User_Address_Audit.sql - # Address Audits SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_User_Address_Audit'; @@ -2611,9 +2348,6 @@ CREATE TABLE IF NOT EXISTS Shop_User_Address_Audit ( REFERENCES Shop_User_Change_Set(id_change_set) ON UPDATE RESTRICT ); - --- File: 1321_tbl_Shop_User_Basket.sql - # User Basket (Product Link) @@ -2653,9 +2387,6 @@ CREATE TABLE IF NOT EXISTS Shop_User_Basket ( */ ); - --- File: 1322_tbl_Shop_User_Basket_Audit.sql - # Product Basket Audits @@ -2683,9 +2414,6 @@ CREATE TABLE IF NOT EXISTS Shop_User_Basket_Audit ( */ ); - --- File: 1397_tbl_Shop_Order_Status.sql - # User Order Types @@ -2707,9 +2435,6 @@ CREATE TABLE IF NOT EXISTS Shop_User_Order_Status ( REFERENCES Shop_User_Change_Set(id_change_set) ); - --- File: 1398_tbl_Shop_Order_Status_Audit.sql - # Order Type Audits @@ -2731,9 +2456,6 @@ CREATE TABLE IF NOT EXISTS Shop_User_Order_Status_Audit ( FOREIGN KEY (id_change_set) REFERENCES Shop_Product_Change_Set(id_change_set) ); - --- File: 1400_tbl_Shop_Supplier.sql - # Supplier SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Supplier'; @@ -2767,9 +2489,6 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier ( , id_supplier_temp INT NOT NULL ); - --- File: 1401_tbl_Shop_Supplier_Audit.sql - # Supplier Audits @@ -2792,9 +2511,6 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier_Audit ( REFERENCES Shop_User_Change_Set(id_change_set) ); - --- File: 1402_tbl_Shop_Supplier_Temp.sql - # Supplier Staging SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Supplier_Temp'; @@ -2815,9 +2531,6 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier_Temp ( GUID BINARY(36) NOT NULL ); - --- File: 1403_tbl_Shop_Supplier_Address.sql - # Supplier Addresses SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Supplier_Address'; @@ -2827,12 +2540,12 @@ CREATE TABLE Shop_Supplier_Address ( , id_supplier INT NOT NULL , CONSTRAINT FK_Shop_Supplier_Address_id_supplier FOREIGN KEY (id_supplier) - REFERENCES partsltd_prod.Shop_Supplier(id_supplier) + REFERENCES demo.Shop_Supplier(id_supplier) ON UPDATE RESTRICT , id_region INT NOT NULL , CONSTRAINT FK_Shop_Supplier_Address_id_region FOREIGN KEY (id_region) - REFERENCES partsltd_prod.Shop_Region(id_region) + REFERENCES demo.Shop_Region(id_region) , postcode VARCHAR(20) NOT NULL , address_line_1 VARCHAR(256) NOT NULL , address_line_2 VARCHAR(256) NOT NULL @@ -2844,11 +2557,8 @@ CREATE TABLE Shop_Supplier_Address ( , id_change_set INT , CONSTRAINT FK_Shop_Supplier_Address_id_change_set FOREIGN KEY (id_change_set) - REFERENCES partsltd_prod.Shop_User_Change_Set(id_change_set) + REFERENCES demo.Shop_User_Change_Set(id_change_set) ); - --- File: 1404_tbl_Shop_Supplier_Address_Audit.sql - # Supplier Address Audits SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Supplier_Address_Audit'; @@ -2869,9 +2579,6 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier_Address_Audit ( REFERENCES Shop_User_Change_Set(id_change_set) ON UPDATE RESTRICT ); - --- File: 1405_tbl_Shop_Supplier_Address_Temp.sql - # Supplier Addresses Staging SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Supplier_Address_Temp'; @@ -2888,9 +2595,6 @@ CREATE TABLE Shop_Supplier_Address_Temp ( , active BIT NOT NULL DEFAULT 1 , GUID BINARY(36) NOT NULL ); - --- File: 1409_tbl_Shop_Supplier_Purchase_Order.sql - # Supplier Purchase Order @@ -2934,9 +2638,6 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order ( REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set) ); - --- File: 1410_tbl_Shop_Supplier_Purchase_Order_Audit.sql - # Supplier Purchase Order Audits @@ -2959,9 +2660,6 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order_Audit ( REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set) ); - --- File: 1411_tbl_Shop_Supplier_Purchase_Order_Temp.sql - # Supplier Purchase Order Staging DROP TABLE IF EXISTS Shop_Supplier_Purchase_Order_Temp; @@ -2977,9 +2675,6 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order_Temp ( , GUID BINARY(36) NOT NULL ); - --- File: 1412_tbl_Shop_Manufacturing_Purchase_Order.sql - # Manufacturing Purchase Order SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Manufacturing_Purchase_Order'; @@ -3020,9 +2715,6 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order ( REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set) ); - --- File: 1413_tbl_Shop_Manufacturing_Purchase_Order_Audit.sql - # Manufacturing Purchase Order Audits @@ -3045,9 +2737,6 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order_Audit ( REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set) ); - --- File: 1414_tbl_Shop_Manufacturing_Purchase_Order_Temp.sql - # Manufacturing Purchase Order Temp -- DROP TABLE Shop_Manufacturing_Purchase_Order_Temp @@ -3078,9 +2767,6 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order_Temp ( active BIT NOT NULL DEFAULT 1, GUID BINARY(36) NOT NULL ); - - --- File: 1415_tbl_Shop_Customer.sql # Customer @@ -3111,9 +2797,6 @@ CREATE TABLE IF NOT EXISTS Shop_Customer ( REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set) ); - --- File: 1416_tbl_Shop_Customer_Audit.sql - # Customer Audits @@ -3136,9 +2819,6 @@ CREATE TABLE IF NOT EXISTS Shop_Customer_Audit ( REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set) ); - --- File: 1418_tbl_Shop_Customer_Sales_Order.sql - # Customer Sales Purchase Order @@ -3174,9 +2854,6 @@ CREATE TABLE IF NOT EXISTS Shop_Customer_Sales_Order ( REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set) ); - --- File: 1419_tbl_Shop_Customer_Sales_Order_Audit.sql - # Customer Sales Order Audits @@ -3199,9 +2876,6 @@ CREATE TABLE IF NOT EXISTS Shop_Customer_Sales_Order_Audit ( REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set) ); - --- File: 1421_tbl_Shop_Stock_Item.sql - # Stock Stock Item -- DROP TABLE IF EXISTS Shop_Stock_Item_Audit; @@ -3214,29 +2888,29 @@ CREATE TABLE IF NOT EXISTS Shop_Stock_Item ( , id_permutation INT NOT NULL , CONSTRAINT FK_Shop_Stock_Item_id_permutation FOREIGN KEY (id_permutation) - REFERENCES partsltd_prod.Shop_Product_Permutation(id_permutation) + REFERENCES demo.Shop_Product_Permutation(id_permutation) , id_supplier_purchase_order INT NULL , CONSTRAINT FK_Shop_Stock_Item_id_supplier_purchase_order FOREIGN KEY (id_supplier_purchase_order) - REFERENCES partsltd_prod.Shop_Supplier_Purchase_Order(id_order) + REFERENCES demo.Shop_Supplier_Purchase_Order(id_order) , id_manufacturing_purchase_order INT NULL , CONSTRAINT FK_Shop_Stock_Item_id_manufacturing_purchase_order FOREIGN KEY (id_manufacturing_purchase_order) - REFERENCES partsltd_prod.Shop_Manufacturing_Purchase_Order(id_order) + REFERENCES demo.Shop_Manufacturing_Purchase_Order(id_order) , id_customer_sales_order INT NULL , CONSTRAINT FK_Shop_Stock_Item_id_customer_sales_order FOREIGN KEY (id_customer_sales_order) - REFERENCES partsltd_prod.Shop_Customer_Sales_Order(id_order) + REFERENCES demo.Shop_Customer_Sales_Order(id_order) , date_purchased DATETIME NOT NULL , date_received DATETIME , id_location_storage INT NOT NULL , CONSTRAINT FK_Shop_Stock_Item_id_location_storage FOREIGN KEY (id_location_storage) - REFERENCES partsltd_prod.Shop_Storage_Location(id_location) + REFERENCES demo.Shop_Storage_Location(id_location) , id_currency_cost INT NOT NULL , CONSTRAINT FK_Shop_Stock_Item_id_currency FOREIGN KEY (id_currency_cost) - REFERENCES partsltd_prod.Shop_Currency(id_currency) + REFERENCES demo.Shop_Currency(id_currency) , cost_local_VAT_incl FLOAT , cost_local_VAT_excl FLOAT , is_sealed BIT NOT NULL DEFAULT 1 @@ -3250,12 +2924,9 @@ CREATE TABLE IF NOT EXISTS Shop_Stock_Item ( , id_change_set INT , CONSTRAINT FK_Shop_Stock_Item_id_change_set FOREIGN KEY (id_change_set) - REFERENCES partsltd_prod.Shop_Product_Change_Set(id_change_set) + REFERENCES demo.Shop_Product_Change_Set(id_change_set) ); - --- File: 1422_tbl_Shop_Stock_Item_Audit.sql - # Stock Item Audits @@ -3279,9 +2950,6 @@ CREATE TABLE IF NOT EXISTS Shop_Stock_Item_Audit ( ON UPDATE RESTRICT ); - --- File: 1423_tbl_Shop_Stock_Item_Temp.sql - # Stock Stock Item Temp DROP TABLE IF EXISTS Shop_Stock_Item_Temp; @@ -3309,9 +2977,6 @@ CREATE TABLE IF NOT EXISTS Shop_Stock_Item_Temp ( , guid BINARY(36) NOT NULL ); - --- File: 1424_tbl_Shop_Supplier_Purchase_Order_Product_Link.sql - # Supplier Purchase Order Product Link @@ -3352,9 +3017,6 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order_Product_Link ( REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set) ); - --- File: 1425_tbl_Shop_Supplier_Purchase_Order_Product_Link_Audit.sql - # Supplier Purchase Order Product Link Audits @@ -3377,9 +3039,6 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order_Product_Link_Audit ( REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set) ); - --- File: 1426_tbl_Shop_Supplier_Purchase_Order_Product_Link_Temp.sql - # Supplier Purchase Order Product Link Temp @@ -3406,13 +3065,10 @@ CREATE TABLE IF NOT EXISTS Shop_Supplier_Purchase_Order_Product_Link_Temp ( , GUID BINARY(36) NOT NULL ); - --- File: 1427_tbl_Shop_Manufacturing_Purchase_Order_Product_Link.sql - # Manufacturing Purchase Order Product Link --- DROP TABLE partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Audit --- DROP TABLE partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link +-- DROP TABLE demo.Shop_Manufacturing_Purchase_Order_Product_Link_Audit +-- DROP TABLE demo.Shop_Manufacturing_Purchase_Order_Product_Link SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Manufacturing_Purchase_Order_Product_Link'; @@ -3421,11 +3077,11 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order_Product_Link ( , id_order INT NOT NULL , CONSTRAINT FK_Manufacturing_Purchase_Order_Product_Link_id_order FOREIGN KEY (id_order) - REFERENCES partsltd_prod.Shop_Manufacturing_Purchase_Order(id_order) + REFERENCES demo.Shop_Manufacturing_Purchase_Order(id_order) , id_permutation INT NOT NULL , CONSTRAINT FK_Manufacturing_Purchase_Order_Product_Link_id_permutation FOREIGN KEY (id_permutation) - REFERENCES partsltd_prod.Shop_Product_Permutation(id_permutation) + REFERENCES demo.Shop_Product_Permutation(id_permutation) , cost_unit_local_VAT_excl FLOAT NULL , cost_unit_local_VAT_incl FLOAT NULL , price_unit_local_VAT_excl FLOAT NULL @@ -3433,13 +3089,13 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order_Product_Link ( , id_unit_quantity INT NOT NULL , CONSTRAINT FK_Manufacturing_Purchase_Order_id_unit_quantity FOREIGN KEY (id_unit_quantity) - REFERENCES partsltd_prod.Shop_Unit_Measurement(id_unit_measurement) + REFERENCES demo.Shop_Unit_Measurement(id_unit_measurement) , quantity_used FLOAT NULL , quantity_produced FLOAT NULL , id_unit_latency_manufacture INT NULL , CONSTRAINT FK_MPO_id_unit_latency_manufacture FOREIGN KEY (id_unit_latency_manufacture) - REFERENCES partsltd_prod.Shop_Unit_Measurement(id_unit_measurement) + REFERENCES demo.Shop_Unit_Measurement(id_unit_measurement) , latency_manufacture INT NULL , display_order INT NOT NULL , active BIT NOT NULL @@ -3450,12 +3106,9 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order_Product_Link ( , id_change_set INT NULL , CONSTRAINT FK_Manufacturing_Purchase_Order_id_change_set FOREIGN KEY (id_change_set) - REFERENCES partsltd_prod.Shop_Sales_And_Purchasing_Change_Set(id_change_set) + REFERENCES demo.Shop_Sales_And_Purchasing_Change_Set(id_change_set) ); - --- File: 1428_tbl_Shop_Manufacturing_Purchase_Order_Product_Link_Audit.sql - # Manufacturing Purchase Order Product Link Audits @@ -3478,9 +3131,6 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order_Product_Link_Audit REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set) ); - --- File: 1429_tbl_Shop_Manufacturing_Purchase_Order_Product_Link_Temp.sql - # Manufacturing Purchase Order Product Link Temp -- DROP TABLE Shop_Manufacturing_Purchase_Order_Product_Link_Temp; @@ -3509,9 +3159,6 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order_Product_Link_Temp ( GUID BINARY(36) NOT NULL ); - --- File: 1430_tbl_Shop_Customer_Sales_Order_Product_Link.sql - # Customer Sales Order Product Link @@ -3550,9 +3197,6 @@ CREATE TABLE IF NOT EXISTS Shop_Customer_Sales_Order_Product_Link ( REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set) ); - --- File: 1431_tbl_Shop_Customer_Sales_Order_Product_Link_Audit.sql - # Customer Sales Order Product Link Audits @@ -3575,9 +3219,6 @@ CREATE TABLE IF NOT EXISTS Shop_Customer_Sales_Order_Product_Link_Audit ( REFERENCES Shop_Sales_And_Purchasing_Change_Set(id_change_set) ); - --- File: 1432_tbl_Shop_Customer_Sales_Order_Product_Link_Temp.sql - # Customer Sales Order Product Link Temp @@ -3612,11 +3253,8 @@ CREATE TABLE IF NOT EXISTS Shop_Customer_Sales_Order_Product_Link_Temp ( active BIT NOT NULL ); - --- File: 1500_tbl_Shop_Calc_User_Temp.sql - # Calc User Staging --- USE partsltd_prod; +-- USE demo; -- DROP TABLE IF EXISTS Shop_Calc_User_Temp; SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Calc_User_Temp'; @@ -3628,21 +3266,18 @@ CREATE TABLE Shop_Calc_User_Temp ( id_permission_required INT NOT NULL, CONSTRAINT FK_Shop_Calc_User_Temp_id_permission_required FOREIGN KEY (id_permission_required) - REFERENCES partsltd_prod.Shop_Permission (id_permission), + REFERENCES demo.Shop_Permission (id_permission), priority_access_level_required INT NOT NULL, id_product INT NULL, CONSTRAINT FK_Shop_Calc_User_Temp_id_product FOREIGN KEY (id_product) - REFERENCES partsltd_prod.Shop_Product (id_product), + REFERENCES demo.Shop_Product (id_product), is_super_user BIT NULL, priority_access_level_user INT NULL, can_view BIT, can_edit BIT, can_admin BIT ); - --- File: 3000_tri_Shop_Access_Level.sql - # Shop Access Level @@ -3702,9 +3337,6 @@ BEGIN END // DELIMITER ; - --- File: 3000_tri_Shop_Product_Change_Set.sql - # Product Change Set @@ -3725,9 +3357,6 @@ BEGIN END // DELIMITER ; - --- File: 3001_tri_Shop_User_Change_Set.sql - # Shop User Change Set @@ -3748,9 +3377,6 @@ BEGIN END IF; END // DELIMITER ; - --- File: 3002_tri_Shop_Sales_And_Purchasing_Change_Set.sql - # Product Change Set @@ -3771,9 +3397,6 @@ BEGIN END // DELIMITER ; - --- File: 3010_tri_File_Type.sql - # File Type @@ -3817,9 +3440,6 @@ BEGIN END // DELIMITER ; - --- File: 3011_tri_File_Type_Audit.sql - # File Type Audits @@ -3847,9 +3467,6 @@ BEGIN SET NEW.updated_last_by = CURRENT_USER(); END // DELIMITER ; - --- File: 3012_tri_Shop_General.sql - # Shop General @@ -3890,9 +3507,6 @@ BEGIN ; END // DELIMITER ; - --- File: 3014_tri_Shop_Image_Type.sql - # Shop Image Type @@ -3957,9 +3571,6 @@ BEGIN ; END // DELIMITER ; - --- File: 3100_tri_Shop_Region.sql - # Shop Delivery Region @@ -4015,9 +3626,6 @@ BEGIN END // DELIMITER ; - --- File: 3103_tri_Shop_Region_Branch.sql - # Shop Region Branch @@ -4071,9 +3679,6 @@ BEGIN END // DELIMITER ; - --- File: 3106_tri_Shop_Address.sql - # Shop Address @@ -4140,9 +3745,6 @@ BEGIN ; END // DELIMITER ; - --- File: 3109_tri_Shop_Storage_Location.sql - # Shop Storage Location @@ -4198,9 +3800,6 @@ BEGIN END // DELIMITER ; - --- File: 3115_tri_Shop_Currency.sql - # Shop Currency @@ -4263,9 +3862,6 @@ BEGIN ; END // DELIMITER ; - --- File: 3118_tri_Shop_Tax_Or_Surcharge.sql - # Shop Tax_Or_Surcharge @@ -4341,9 +3937,6 @@ END // DELIMITER ; - --- File: 3200_tri_Shop_Category.sql - # Shop Category @@ -4405,9 +3998,6 @@ BEGIN END // DELIMITER ; - --- File: 3203_tri_Shop_Product.sql - # Shop Product @@ -4578,9 +4168,6 @@ BEGIN END // DELIMITER ; - --- File: 3206_tri_Shop_Product_Permutation.sql - # Shop Product Permutation @@ -4748,9 +4335,6 @@ BEGIN END // DELIMITER ; - --- File: 3209_tri_Shop_Variation_Type.sql - # Shop Variation Type @@ -4811,9 +4395,6 @@ BEGIN END // DELIMITER ; - --- File: 3212_tri_Shop_Variation.sql - # Shop Variation @@ -4877,9 +4458,6 @@ BEGIN END // DELIMITER ; - --- File: 3215_tri_Shop_Product_Permutation_Variation_Link.sql - # Shop Product Permutation Variation Link @@ -4936,9 +4514,6 @@ BEGIN ; END // DELIMITER ; - --- File: 3218_tri_Shop_Stock_Item.sql - # Shop Product Permutation @@ -5030,9 +4605,6 @@ BEGIN END // DELIMITER ; - --- File: 3221_tri_Shop_Product_Price.sql - # Shop Product Currency Link @@ -5120,9 +4692,6 @@ BEGIN END // DELIMITER ; - --- File: 3224_tri_Shop_Product_Image.sql - # Shop Image @@ -5195,9 +4764,6 @@ BEGIN ; END // DELIMITER ; - --- File: 3227_tri_Shop_Delivery_Option.sql - # Shop Delivery Option Type @@ -5270,9 +4836,6 @@ BEGIN ; END // DELIMITER ; - --- File: 3230_tri_Shop_Product_Permutation_Delivery_Option_Link.sql - # Shop Product Delivery Option Link @@ -5351,9 +4914,6 @@ BEGIN ; END // DELIMITER ; - --- File: 3233_tri_Shop_Discount.sql - # Shop Discount @@ -5437,9 +4997,6 @@ END // DELIMITER ; - --- File: 3236_tri_Shop_Discount_Region_Currency_Link.sql - # Shop Discount Region Currency Link @@ -5492,9 +5049,6 @@ BEGIN ; END // DELIMITER ; - --- File: 3300_tri_Shop_Permission_Group.sql - # Shop Permission Group @@ -5549,9 +5103,6 @@ BEGIN ; END // DELIMITER ; - --- File: 3303_tri_Shop_Permission.sql - # Shop Permission @@ -5614,9 +5165,6 @@ BEGIN ; END // DELIMITER ; - --- File: 3306_tri_Shop_Role.sql - # Shop Role @@ -5672,9 +5220,6 @@ BEGIN END // DELIMITER ; - --- File: 3309_tri_Shop_Role_Permission_Link.sql - # Shop Role Permission Link @@ -5732,9 +5277,6 @@ BEGIN END // DELIMITER ; - --- File: 3312_tri_Shop_User.sql - # Shop User @@ -5813,9 +5355,6 @@ BEGIN ; END // DELIMITER ; - --- File: 3315_tri_Shop_User_Role_Link.sql - # Shop User Role Link @@ -5858,9 +5397,6 @@ BEGIN ; END // DELIMITER ; - --- File: 3318_tri_Shop_User_Address.sql - # Shop Address @@ -5935,9 +5471,6 @@ BEGIN ; END // DELIMITER ; - --- File: 3321_tri_Shop_User_Basket.sql - # Shop Product Variation Link @@ -5992,9 +5525,6 @@ BEGIN ; END // DELIMITER ; - --- File: 3324_tri_Shop_User_Order_Status.sql - # Shop User Order Type @@ -6053,9 +5583,6 @@ BEGIN ; END // DELIMITER ; - --- File: 3400_tri_Shop_Supplier.sql - # Shop Supplier @@ -6137,9 +5664,6 @@ BEGIN END // DELIMITER ; - --- File: 3403_tri_Shop_Supplier_Address.sql - # Shop Supplier Address DROP TRIGGER IF EXISTS before_insert_Shop_Supplier_Address; @@ -6204,9 +5728,6 @@ BEGIN ; END // DELIMITER ; - --- File: 3403_tri_Shop_Unit_Measurement.sql - # Shop Unit of Measurement @@ -6283,9 +5804,6 @@ END // DELIMITER ; - --- File: 3406_tri_Shop_Unit_Of_Measurement_Conversion.sql - # Shop Unit of Measurement Conversion @@ -6350,9 +5868,6 @@ END // DELIMITER ; - --- File: 3409_tri_Shop_Supplier_Purchase_Order.sql - # Shop Supplier Purchase Order @@ -6431,9 +5946,6 @@ END // DELIMITER ; - --- File: 3412_tri_Shop_Supplier_Purchase_Order_Product_Link.sql - # Shop Supplier Purchase Order Product Link @@ -6527,9 +6039,6 @@ BEGIN END // DELIMITER ; - --- File: 3415_tri_Shop_Manufacturing_Purchase_Order.sql - # Shop Manufacturing Purchase Order @@ -6545,7 +6054,7 @@ 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)); - IF NOT EXISTS (SELECT * FROM partsltd_prod.Shop_User U WHERE U.id_user = NEW.created_by LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM demo.Shop_User U WHERE U.id_user = NEW.created_by LIMIT 1) THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Valid created by User ID must be provided.'; END IF; @@ -6601,9 +6110,6 @@ BEGIN END // DELIMITER ; - --- File: 3418_tri_Shop_Manufacturing_Purchase_Order_Product_Link.sql - # Shop Manufacturing Purchase Order Product Link @@ -6696,9 +6202,6 @@ END // DELIMITER ; - --- File: 3421_tri_Shop_Customer.sql - # Shop Customer @@ -6771,9 +6274,6 @@ END // DELIMITER ; - --- File: 3424_tri_Shop_Customer_Sales_Order.sql - # Shop Customer Sales Order @@ -6829,9 +6329,6 @@ BEGIN END // DELIMITER ; - --- File: 3427_tri_Shop_Customer_Sales_Order_Product_Link.sql - # Shop Customer Sales Order Product Link @@ -6910,10 +6407,7 @@ BEGIN ; END // DELIMITER ; - - --- File: 6000_p_debug_timing_reporting.sql --- USE partsltd_prod; +-- USE demo; -- Clear previous proc DROP PROCEDURE IF EXISTS p_debug_timing_reporting; @@ -6952,14 +6446,11 @@ END // DELIMITER ; /* -CALL partsltd_prod.p_debug_timing_reporting ( +CALL demo.p_debug_timing_reporting ( CURRENT_TIMESTAMP(6) ); */ --- File: 6000_p_split.sql - - DROP PROCEDURE IF EXISTS p_split; DELIMITER // @@ -7063,9 +6554,6 @@ WHERE GUID = 'nips'; CALL p_clear_split_temp( 'nips' ); */ - --- File: 6001_p_clear_split_temp.sql - -- Clear previous proc DROP PROCEDURE IF EXISTS p_clear_split_temp; @@ -7096,9 +6584,6 @@ CALL p_clear_split_temp ( 'nips' ); */ --- File: 6001_p_validate_guid.sql - - DROP PROCEDURE IF EXISTS p_validate_guid; DROP PROCEDURE IF EXISTS p_validate_guid_test; @@ -7157,9 +6642,6 @@ DELIMITER ; -- CALL p_validate_guid_test(); --- File: 6003_p_split_key_value_pair_csv.sql - - DROP PROCEDURE IF EXISTS p_split_key_value_pair_csv; DELIMITER // @@ -7267,9 +6749,6 @@ WHERE GUID = 'nipsnipsnipsnipsnipsnipsnipsnipsnips'; CALL p_clear_split_key_value_pair_csv_temp( 'nipsnipsnipsnipsnipsnipsnipsnipsnips' ); */ - --- File: 6004_p_clear_split_key_value_pair_csv_temp.sql - -- Clear previous proc DROP PROCEDURE IF EXISTS p_clear_split_key_value_pair_csv_temp; @@ -7299,9 +6778,6 @@ CALL p_clear_split_key_value_pair_csv_temp ( 'nipsnipsnipsnipsnipsnipsnipsnipsni */ - --- File: 6206_fn_shop_get_product_permutation_name.sql - DROP FUNCTION IF EXISTS fn_shop_get_product_permutation_name; DELIMITER // @@ -7345,9 +6821,6 @@ SELECT ) ; */ - --- File: 6210_fn_shop_get_id_product_permutation_from_variation_csv_list.sql - DROP FUNCTION IF EXISTS fn_shop_get_id_product_permutation_from_variation_csv_list; DELIMITER // @@ -7395,9 +6868,9 @@ BEGIN IF v_id_permutation IS NULL THEN -- First iteration: find initial v_id_permutations SELECT PPVL.id_permutation INTO v_id_permutation - FROM partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL - INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON PPVL.id_permutation = PP.id_permutation - INNER JOIN partsltd_prod.Shop_Variation PV ON PPVL.id_variation = PV.id_variation + FROM demo.Shop_Product_Permutation_Variation_Link PPVL + INNER JOIN demo.Shop_Product_Permutation PP ON PPVL.id_permutation = PP.id_permutation + INNER JOIN demo.Shop_Variation PV ON PPVL.id_variation = PV.id_variation WHERE 1=1 AND PP.id_product = a_id_product AND PPVL.id_variation = v_id_variation @@ -7406,9 +6879,9 @@ BEGIN ELSE -- Subsequent iterations: narrow down the v_id_permutation SELECT PPVL.id_permutation INTO v_id_permutation_tmp - FROM partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL - INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON PPVL.id_permutation = PP.id_permutation - INNER JOIN partsltd_prod.Shop_Variation PV ON PPVL.id_variation = PV.id_variation + FROM demo.Shop_Product_Permutation_Variation_Link PPVL + INNER JOIN demo.Shop_Product_Permutation PP ON PPVL.id_permutation = PP.id_permutation + INNER JOIN demo.Shop_Variation PV ON PPVL.id_variation = PV.id_variation WHERE 1=1 AND PP.id_product = a_id_product AND PPVL.v_id_permutation = v_id_permutation @@ -7447,7 +6920,7 @@ WHERE v_id_permutation IS NULL; */ /* -select * from partsltd_prod.Shop_Variation +select * from demo.Shop_Variation DROP PROCEDURE IF EXISTS p_shop_get_id_product_permutation_from_variation_csv_list; @@ -7569,9 +7042,6 @@ WHERE GUID = 'nipsnipsnipsnipsnipsnipsnipsnipsnips'; CALL p_clear_split_key_value_pair_csv_temp( 'nipsnipsnipsnipsnipsnipsnipsnipsnips' ); */ - --- File: 6211_fn_shop_get_product_variations_from_id_csv_list.sql - DROP FUNCTION IF EXISTS fn_shop_get_product_variations_from_id_csv_list; DELIMITER // @@ -7628,7 +7098,7 @@ BEGIN END IF; END WHILE; - INSERT INTO partsltd_prod.Shop_Product_Permutation_Variation_Link_Temp ( + INSERT INTO demo.Shop_Product_Permutation_Variation_Link_Temp ( id_link , id_permutation , id_variation @@ -7644,7 +7114,7 @@ BEGIN , 1 AS active , a_guid FROM tmp_Get_Variation_From_Csv_Variations t_V - LEFT JOIN partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL ON t_V.id_variation = PPVL.id_variation + LEFT JOIN demo.Shop_Product_Permutation_Variation_Link PPVL ON t_V.id_variation = PPVL.id_variation ; DROP TEMPORARY TABLE tmp_Get_Variation_From_Csv_Variations; @@ -7658,25 +7128,22 @@ DELIMITER ; /* SELECT - partsltd_prod.fn_shop_get_product_variations_from_id_csv_list( + demo.fn_shop_get_product_variations_from_id_csv_list( 1 -- a_id_permutation , '1:1' -- a_variation_csv , 'NIPPLENIPPLENIPPLENIPPLENIPPLENIPPLE' -- a_guid ) ; SELECT * -FROM partsltd_prod.Shop_Product_Permutation_Variation_Link_Temp +FROM demo.Shop_Product_Permutation_Variation_Link_Temp WHERE GUID = 'NIPPLENIPPLENIPPLENIPPLENIPPLENIPPLE' ; DELETE -FROM partsltd_prod.Shop_Product_Permutation_Variation_Link_Temp +FROM demo.Shop_Product_Permutation_Variation_Link_Temp WHERE GUID = 'NIPPLENIPPLENIPPLENIPPLENIPPLENIPPLE' ; */ - --- File: 6212_fn_shop_get_product_permutation_variations_csv.sql - DROP FUNCTION IF EXISTS fn_shop_get_product_permutation_variations_csv; DELIMITER // @@ -7701,11 +7168,11 @@ BEGIN SEPARATOR ',' ) END - FROM partsltd_prod.Shop_Product_Permutation PP - LEFT JOIN partsltd_prod.Shop_Product P ON PP.id_product = P.id_product - LEFT JOIN partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL ON PP.id_permutation = PPVL.id_permutation - LEFT JOIN partsltd_prod.Shop_Variation PV ON PPVL.id_variation = PV.id_variation - LEFT JOIN partsltd_prod.Shop_Variation_Type PVT ON PV.id_type = PVT.id_type + FROM demo.Shop_Product_Permutation PP + LEFT JOIN demo.Shop_Product P ON PP.id_product = P.id_product + LEFT JOIN demo.Shop_Product_Permutation_Variation_Link PPVL ON PP.id_permutation = PPVL.id_permutation + LEFT JOIN demo.Shop_Variation PV ON PPVL.id_variation = PV.id_variation + LEFT JOIN demo.Shop_Variation_Type PVT ON PV.id_type = PVT.id_type WHERE PP.id_permutation = id_product_permutation GROUP BY P.id_product, P.has_variations, PVT.display_order, PVT.name, PV.display_order, PV.name LIMIT 1 @@ -7725,9 +7192,6 @@ SELECT ; /* */ - --- File: 6500_p_shop_calc_user.sql - -- Clear previous proc DROP PROCEDURE IF EXISTS p_shop_user_eval; DROP PROCEDURE IF EXISTS p_shop_calc_user; @@ -7772,7 +7236,7 @@ BEGIN SET v_code_error_permission := (SELECT code FROM Shop_Msg_Error_Type WHERE id_type = 2); - CALL partsltd_prod.p_validate_guid ( a_guid ); + CALL demo.p_validate_guid ( a_guid ); SET a_ids_user := TRIM(IFNULL(a_ids_user, '')); SET a_get_inactive_user := IFNULL(a_get_inactive_user, 0); SET a_ids_permission := TRIM(IFNULL(a_ids_permission, '')); @@ -7853,10 +7317,10 @@ BEGIN */ SET a_ids_product = REPLACE(a_ids_product, '|', ','); SET v_has_filter_product = CASE WHEN a_ids_product = '' THEN 0 ELSE 1 END; - SET v_id_access_level_view = (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1); - SET v_priority_access_level_view = (SELECT priority FROM partsltd_prod.Shop_Access_Level WHERE id_access_level = v_id_access_level_view); - SET v_priority_access_level_edit = (SELECT priority FROM partsltd_prod.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); - SET v_priority_access_level_admin = (SELECT priority FROM partsltd_prod.Shop_Access_Level WHERE code = 'ADMIN' LIMIT 1); + SET v_id_access_level_view = (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1); + SET v_priority_access_level_view = (SELECT priority FROM demo.Shop_Access_Level WHERE id_access_level = v_id_access_level_view); + SET v_priority_access_level_edit = (SELECT priority FROM demo.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); + SET v_priority_access_level_admin = (SELECT priority FROM demo.Shop_Access_Level WHERE code = 'ADMIN' LIMIT 1); IF a_debug = 1 THEN SELECT @@ -7868,7 +7332,7 @@ BEGIN # Access levels IF v_has_filter_access_level THEN - CALL partsltd_prod.p_split(a_guid, a_ids_access_level, ',', a_debug); + CALL demo.p_split(a_guid, a_ids_access_level, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -7884,13 +7348,13 @@ BEGIN AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( a_guid ); + CALL demo.p_clear_split_temp( a_guid ); # Invalid IDs IF EXISTS ( SELECT t_S.substring FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Access_Level AL ON t_S.as_int = AL.id_access_level + LEFT JOIN demo.Shop_Access_Level AL ON t_S.as_int = AL.id_access_level WHERE ISNULL(t_S.as_int) OR ISNULL(AL.id_access_level) @@ -7908,7 +7372,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive access level IDs: ', GROUP_CONCAT(t_S.substring SEPARATOR ', ')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Access_Level AL ON t_S.as_int = AL.id_access_level + LEFT JOIN demo.Shop_Access_Level AL ON t_S.as_int = AL.id_access_level WHERE ISNULL(t_S.as_int) OR ISNULL(AL.id_access_level) @@ -7919,7 +7383,7 @@ BEGIN SET v_id_access_level := ( SELECT AL.id_access_level FROM tmp_Split t_S - INNER JOIN partsltd_prod.Shop_Access_Level AL + INNER JOIN demo.Shop_Access_Level AL ON t_S.as_int = AL.id_access_level AND AL.active ORDER BY AL.priority ASC @@ -7928,14 +7392,14 @@ BEGIN ELSE SET v_id_access_level = v_id_access_level_view; END IF; - SET v_priority_access_level := (SELECT priority FROM partsltd_prod.Shop_Access_Level WHERE id_access_level = v_id_access_level LIMIT 1); + SET v_priority_access_level := (SELECT priority FROM demo.Shop_Access_Level WHERE id_access_level = v_id_access_level LIMIT 1); END IF; END IF; DELETE FROM tmp_Split; -- Permission IDs IF v_has_filter_permission THEN - CALL partsltd_prod.p_split(a_guid, a_ids_permission, ',', a_debug); + CALL demo.p_split(a_guid, a_ids_permission, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -7951,10 +7415,10 @@ BEGIN AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( a_guid ); + CALL demo.p_clear_split_temp( a_guid ); # Invalid or inactive - IF EXISTS (SELECT PERM.id_permission FROM tmp_Split t_S LEFT JOIN partsltd_prod.Shop_Permission PERM ON t_S.as_int = PERM.id_permission WHERE ISNULL(t_S.as_int) OR ISNULL(PERM.id_permission) OR PERM.active = 0) THEN + IF EXISTS (SELECT PERM.id_permission FROM tmp_Split t_S LEFT JOIN demo.Shop_Permission PERM ON t_S.as_int = PERM.id_permission WHERE ISNULL(t_S.as_int) OR ISNULL(PERM.id_permission) OR PERM.active = 0) THEN INSERT INTO tmp_Msg_Error ( -- guid, id_type, @@ -7967,7 +7431,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive permission IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Permission PERM ON t_S.as_int = PERM.id_permission + LEFT JOIN demo.Shop_Permission PERM ON t_S.as_int = PERM.id_permission WHERE ISNULL(t_S.as_int) OR ISNULL(PERM.id_permission) @@ -7976,8 +7440,8 @@ BEGIN ELSE SET v_id_permission_required := ( SELECT PERM.id_permission - FROM partsltd_prod.Shop_Permission PERM - INNER JOIN partsltd_prod.Shop_Access_Level AL ON PERM.id_access_level_required = AL.id_access_level + FROM demo.Shop_Permission PERM + INNER JOIN demo.Shop_Access_Level AL ON PERM.id_access_level_required = AL.id_access_level ORDER BY AL.priority ASC LIMIT 1 ); @@ -7986,7 +7450,7 @@ BEGIN DELETE FROM tmp_Split; # Users - CALL partsltd_prod.p_split(a_guid, a_ids_user, ',', a_debug); + CALL demo.p_split(a_guid, a_ids_user, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -8002,10 +7466,10 @@ BEGIN AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( a_guid ); + CALL demo.p_clear_split_temp( a_guid ); # Invalid or inactive - IF EXISTS (SELECT U.id_user FROM tmp_Split t_S LEFT JOIN partsltd_prod.Shop_User U ON t_S.as_int = U.id_user WHERE ISNULL(t_S.as_int) OR ISNULL(U.id_user) OR (a_get_inactive_user = 0 AND U.active = 0)) THEN + IF EXISTS (SELECT U.id_user FROM tmp_Split t_S LEFT JOIN demo.Shop_User U ON t_S.as_int = U.id_user WHERE ISNULL(t_S.as_int) OR ISNULL(U.id_user) OR (a_get_inactive_user = 0 AND U.active = 0)) THEN INSERT INTO tmp_Msg_Error ( -- guid, id_type, @@ -8018,7 +7482,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive user IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_User U ON t_S.as_int = U.id_user + LEFT JOIN demo.Shop_User U ON t_S.as_int = U.id_user WHERE ISNULL(t_S.as_int) OR ISNULL(U.id_user) @@ -8032,7 +7496,7 @@ BEGIN SET a_ids_user = ( SELECT U.id_user FROM tmp_Split t_S - INNER JOIN partsltd_prod.Shop_User U ON t_S.as_int = U.id_user + INNER JOIN demo.Shop_User U ON t_S.as_int = U.id_user ); SET v_has_filter_user = ISNULL(a_ids_user); */ @@ -8054,18 +7518,18 @@ BEGIN ) SELECT U.id_user - , U.is_super_user + , IFNULL(U.is_super_user, 0) AS is_super_user -- , IFNULL(AL_U.id_access_level, v_id_access_level_view) AS id_access_level , IFNULL(MIN(AL_U.priority), v_priority_access_level_view) AS priority_access_level FROM tmp_Split t_S - INNER JOIN partsltd_prod.Shop_User U ON t_S.as_int = U.id_user - LEFT JOIN partsltd_prod.Shop_User_Role_Link URL + INNER JOIN demo.Shop_User U ON t_S.as_int = U.id_user + LEFT JOIN demo.Shop_User_Role_Link URL ON U.id_user = URL.id_user AND URL.active - LEFT JOIN partsltd_prod.Shop_Role_Permission_Link RPL + LEFT JOIN demo.Shop_Role_Permission_Link RPL ON URL.id_role = RPL.id_role AND RPL.active - LEFT JOIN partsltd_prod.Shop_Access_Level AL_U + LEFT JOIN demo.Shop_Access_Level AL_U ON RPL.id_access_level = AL_U.id_access_level AND AL_U.active GROUP BY U.id_user @@ -8076,16 +7540,16 @@ BEGIN , id_permission_required , priority_access_level_required , id_product - , is_super_user , priority_access_level_user + , is_super_user ) SELECT t_UCU.id_user , v_id_permission_required , v_priority_access_level AS priority_access_level_required , NULL - , t_UCU.priority_access_level AS priority_access_level_user , t_UCU.is_super_user AS is_super_user + , t_UCU.priority_access_level AS priority_access_level_user FROM tmp_User_Calc_User t_UCU ; @@ -8106,21 +7570,21 @@ BEGIN , CASE WHEN MIN(IFNULL(AL_U.priority, 0)) = 0 THEN v_priority_access_level_view ELSE MIN(IFNULL(AL_U.priority, 0)) END AS priority_access_level_user , IFNULL(U.is_super_user, 0) AS is_super_user FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_User U + LEFT JOIN demo.Shop_User U ON t_S.as_int = U.id_user AND U.active - LEFT JOIN partsltd_prod.Shop_User_Role_Link URL + LEFT JOIN demo.Shop_User_Role_Link URL ON U.id_user = URL.id_user AND URL.active - LEFT JOIN partsltd_prod.Shop_Role_Permission_Link RPL + LEFT JOIN demo.Shop_Role_Permission_Link RPL ON URL.id_role = RPL.id_role AND RPL.active - LEFT JOIN partsltd_prod.Shop_Access_Level AL_U + LEFT JOIN demo.Shop_Access_Level AL_U ON RPL.id_access_level = AL_U.id_access_level AND AL_U.active * CROSS JOIN tmp_Product_Calc_User t_P - LEFT JOIN partsltd_prod.Shop_Access_Level AL_P + LEFT JOIN demo.Shop_Access_Level AL_P ON t_P.id_access_level_required = AL_P.id_access_level AND AL_P.active * @@ -8134,7 +7598,7 @@ BEGIN # Products IF v_has_filter_product = 1 THEN - CALL partsltd_prod.p_split(a_guid, a_ids_product, ',', a_debug); + CALL demo.p_split(a_guid, a_ids_product, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -8150,10 +7614,10 @@ BEGIN AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( a_guid ); + CALL demo.p_clear_split_temp( a_guid ); # Invalid product IDs - IF EXISTS (SELECT * FROM tmp_Split t_S LEFT JOIN partsltd_prod.Shop_Product P ON t_S.as_int = P.id_product WHERE ISNULL(t_S.as_int) OR ISNULL(P.id_product)) THEN + IF EXISTS (SELECT * FROM tmp_Split t_S LEFT JOIN demo.Shop_Product P ON t_S.as_int = P.id_product WHERE ISNULL(t_S.as_int) OR ISNULL(P.id_product)) THEN INSERT INTO tmp_Msg_Error ( -- guid, id_type, @@ -8166,7 +7630,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid Product IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product P ON t_S.as_int = P.id_product + LEFT JOIN demo.Shop_Product P ON t_S.as_int = P.id_product WHERE ISNULL(t_S.as_int) OR ISNULL(P.id_product) @@ -8186,12 +7650,12 @@ BEGIN CASE WHEN AL_P.priority < AL_C.priority THEN AL_P.id_access_level ELSE AL_C.id_access_level END AS id_access_level_required, CASE WHEN AL_P.priority < AL_C.priority THEN AL_P.priority ELSE AL_C.priority END AS priority_access_level_required FROM tmp_Split t_S - INNER JOIN partsltd_prod.Shop_Product P ON t_S.as_int = P.id_product # Shop_Product_Permutation PP - INNER JOIN partsltd_prod.Shop_Access_Level AL_P + INNER JOIN demo.Shop_Product P ON t_S.as_int = P.id_product # Shop_Product_Permutation PP + INNER JOIN demo.Shop_Access_Level AL_P ON P.id_access_level_required = AL_P.id_access_level AND AL_P.active - INNER JOIN partsltd_prod.Shop_Product_Category C ON P.id_category = C.id_category - INNER JOIN partsltd_prod.Shop_Access_Level AL_C + INNER JOIN demo.Shop_Product_Category C ON P.id_category = C.id_category + INNER JOIN demo.Shop_Access_Level AL_C ON C.id_access_level_required = AL_C.id_access_level AND AL_C.active ; @@ -8199,9 +7663,9 @@ BEGIN SET v_has_filter_product = EXISTS (SELECT * FROM tmp_Product_Calc_User); /* UPDATE tmp_Product_Calc_User t_P - INNER JOIN partsltd_prod.Shop_Product P ON t_P.id_product = P.id_product - INNER JOIN partsltd_prod.Shop_Product_Category PC ON P.id_category = PC.id_category - INNER JOIN partsltd_prod.Shop_Access_Level AL ON PC.id_access_level_required = AL.id_access_level + INNER JOIN demo.Shop_Product P ON t_P.id_product = P.id_product + INNER JOIN demo.Shop_Product_Category PC ON P.id_category = PC.id_category + INNER JOIN demo.Shop_Access_Level AL ON PC.id_access_level_required = AL.id_access_level SET t_P.id_access_level_required = CASE WHEN t_P.priority_access_level_required <= AL.priority THEN t_P.id_access_level_required ELSE AL.id_access_level END , t_P.priority_access_level_required = LEAST(t_P.priority_access_level_required, AL.priority) @@ -8236,11 +7700,11 @@ BEGIN , v_id_permission_required , CASE WHEN AL.priority < v_priority_access_level THEN AL.priority ELSE v_priority_access_level END AS priority_access_level_required , t_P.id_product - , t_U.priority_access_level AS priority_access_level_user , t_U.is_super_user AS is_super_user + , t_U.priority_access_level AS priority_access_level_user FROM tmp_User_Calc_User t_U CROSS JOIN tmp_Product_Calc_User t_P - LEFT JOIN partsltd_prod.Shop_Access_Level AL ON t_P.id_access_level_required = AL.id_access_level + LEFT JOIN demo.Shop_Access_Level AL ON t_P.id_access_level_required = AL.id_access_level ; -- Calculated fields @@ -8254,7 +7718,7 @@ BEGIN -- Export data to staging table IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN START TRANSACTION; - INSERT INTO partsltd_prod.Shop_Calc_User_Temp ( + INSERT INTO demo.Shop_Calc_User_Temp ( guid , id_user , id_permission_required @@ -8287,8 +7751,8 @@ BEGIN SELECT * FROM tmp_Calc_User; SELECT * FROM tmp_User_Calc_User; SELECT * FROM tmp_Product_Calc_User; - SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = a_guid; - CALL partsltd_prod.p_shop_clear_calc_user ( a_guid, a_debug ); + SELECT * FROM demo.Shop_Calc_User_Temp WHERE GUID = a_guid; + CALL demo.p_shop_clear_calc_user ( a_guid, a_debug ); END IF; -- Clean up @@ -8300,14 +7764,14 @@ BEGIN DELETE FROM tmp_Split; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting( v_time_start ); + CALL demo.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; /* -CALL partsltd_prod.p_shop_calc_user ( +CALL demo.p_shop_calc_user ( 'chips ' , 1 , 0 @@ -8316,7 +7780,7 @@ CALL partsltd_prod.p_shop_calc_user ( , '1,2,3,4,5' , 0 ); -CALL partsltd_prod.p_shop_calc_user ( +CALL demo.p_shop_calc_user ( 'chips ' , 1 , 0 @@ -8325,14 +7789,14 @@ CALL partsltd_prod.p_shop_calc_user ( , NULL , 0 ); -SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = 'chips '; -DELETE FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = 'chips '; +SELECT * FROM demo.Shop_Calc_User_Temp WHERE GUID = 'chips '; +DELETE FROM demo.Shop_Calc_User_Temp WHERE GUID = 'chips '; --- SELECT * FROM partsltd_prod.Shop_Calc_User_Temp; -SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = 'chips '; -CALL partsltd_prod.p_shop_clear_calc_user ( 'chips ', 0 ); --- SELECT * FROM partsltd_prod.Shop_Calc_User_Temp; +-- SELECT * FROM demo.Shop_Calc_User_Temp; +SELECT * FROM demo.Shop_Calc_User_Temp WHERE GUID = 'chips '; +CALL demo.p_shop_clear_calc_user ( 'chips ', 0 ); +-- SELECT * FROM demo.Shop_Calc_User_Temp; DROP TABLE IF EXISTS tmp_Msg_Error; CALL p_shop_calc_user( @@ -8344,17 +7808,15 @@ DROP TABLE IF EXISTS tmp_Msg_Error; , '' -- a_ids_product , 0 -- a_debug ); -SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = 'chips '; -CALL partsltd_prod.p_shop_clear_calc_user ( 'chips ', 0 ); +SELECT * FROM demo.Shop_Calc_User_Temp WHERE GUID = 'chips '; +CALL demo.p_shop_clear_calc_user ( 'chips ', 0 ); DROP TABLE IF EXISTS tmp_Msg_Error; -SELECT * FROM partsltd_prod.shop_user_role_link; -SELECT * FROM partsltd_prod.shop_role_permission_link; +SELECT * FROM demo.shop_user_role_link; +SELECT * FROM demo.shop_role_permission_link; */ --- File: 6501_p_shop_clear_calc_user.sql - -- Clear previous proc DROP PROCEDURE IF EXISTS p_shop_clear_Shop_Calc_User_Temp; DROP PROCEDURE IF EXISTS p_clear_Shop_Calc_User_Temp; @@ -8381,7 +7843,7 @@ BEGIN COMMIT; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting( v_time_start ); + CALL demo.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; @@ -8401,9 +7863,6 @@ WHERE GUID = 'noods, cheese ' */ --- File: 7003_p_shop_get_many_access_level.sql - - /* @@ -8449,9 +7908,6 @@ CALL p_shop_get_many_access_level ( */ --- File: 7101_p_shop_get_many_region.sql - - /* @@ -8497,9 +7953,6 @@ CALL p_shop_get_many_region ( */ --- File: 7106_p_shop_get_many_plant.sql - - -- Clear previous proc DROP PROCEDURE IF EXISTS p_shop_get_many_plant; @@ -8536,9 +7989,6 @@ CALL p_shop_get_many_plant ( */ --- File: 7109_p_shop_get_many_storage_location.sql - - -- Clear previous proc DROP PROCEDURE IF EXISTS p_shop_get_many_storage_location; @@ -8576,9 +8026,6 @@ CALL p_shop_get_many_storage_location ( */ --- File: 7116_p_shop_get_many_currency.sql - - /* @@ -8625,9 +8072,6 @@ CALL p_shop_get_many_currency ( ); */ - --- File: 7122_p_shop_get_many_unit_measurement.sql - -- Clear previous proc DROP PROCEDURE IF EXISTS p_shop_get_many_unit_measurement; @@ -8670,87 +8114,6 @@ from shop_unit_measurement */ --- File: 7200_p_shop_save_product_category_test.sql - --- Clear previous proc -DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_product_category_test; - - -DELIMITER // -CREATE PROCEDURE p_shop_save_product_category_test () -BEGIN - - DECLARE v_guid BINARY(36); - DECLARE v_time_start TIMESTAMP(6); - - SET v_time_start := CURRENT_TIMESTAMP(6); - SET v_guid := 'nips'; - - SELECT * - FROM partsltd_prod.Shop_Product_Category - ; - SELECT * - FROM partsltd_prod.Shop_Product_Category_Temp - ; - - START TRANSACTION; - - INSERT INTO partsltd_prod.Shop_Product_Category_Temp ( - id_category - , name - , code - , description - , id_access_level_required - , display_order - , guid - ) - VALUES ( - -5 -- id_category - , 'Nips' -- name - , 'Lips' -- code - , 'Chips' -- description - , 2 -- id_access_level_required - , 25 -- display_order - , v_guid - ); - - COMMIT; - - SELECT * - FROM partsltd_prod.Shop_Product_Category_Temp - WHERE GUID = v_guid - ; - - CALL partsltd_prod.p_shop_save_product_category ( - 'Test save product category' -- comment - , v_guid -- guid - , 1 -- id_user - , 1 -- debug - ); - - SELECT * - FROM partsltd_prod.Shop_Product_Category - ; - SELECT * - FROM partsltd_prod.Shop_Product_Category_Temp - ; - - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); -END // -DELIMITER ; - -/* -CALL partsltd_prod.p_shop_save_product_category_test (); - -DELETE FROM partsltd_prod.Shop_Product_Category_Temp; - -DROP TABLE IF EXISTS tmp_Msg_Error; -*/ - - --- File: 7200_p_shop_save_product_category.sql - - -- Clear previous proc DROP PROCEDURE IF EXISTS p_save_category; DROP PROCEDURE IF EXISTS p_shop_save_category; @@ -8798,7 +8161,7 @@ BEGIN MET.id_type , @errno , @text - FROM partsltd_prod.Shop_Msg_Error_Type MET + FROM demo.Shop_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; SELECT * @@ -8860,8 +8223,8 @@ BEGIN , IFNULL(PC_T.display_order, PC.display_order) AS display_order , IFNULL(PC_T.name, IFNULL(PC.name, IFNULL(PC_T.code, IFNULL(PC.code, IFNULL(PC_T.id_category, '(No Product Category)'))))) AS name_error , CASE WHEN IFNULL(PC_T.id_category, 0) < 1 THEN 1 ELSE 0 END AS is_new - FROM partsltd_prod.Shop_Product_Category_Temp PC_T - LEFT JOIN partsltd_prod.Shop_Product_Category PC ON PC_T.id_category = PC.id_category + FROM demo.Shop_Product_Category_Temp PC_T + LEFT JOIN demo.Shop_Product_Category PC ON PC_T.id_category = PC.id_category WHERE PC_T.guid = a_guid ; @@ -8916,7 +8279,7 @@ BEGIN -- Permissions SET v_ids_product_permission := ( SELECT GROUP_CONCAT(P.id_product SEPARATOR ',') - FROM partsltd_prod.Shop_Product P + FROM demo.Shop_Product P INNER JOIN tmp_Category t_C ON P.id_category = t_C.id_category AND t_C.is_new = 0 @@ -8936,7 +8299,7 @@ BEGIN ; END IF; - CALL partsltd_prod.p_shop_calc_user( + CALL demo.p_shop_calc_user( a_guid , a_id_user , FALSE -- a_get_inactive_user @@ -8947,8 +8310,8 @@ BEGIN ); UPDATE tmp_Category t_C - INNER JOIN partsltd_prod.Shop_Product P ON t_C.id_category = P.id_product - INNER JOIN partsltd_prod.Shop_Calc_User_Temp UE_T + INNER JOIN demo.Shop_Product P ON t_C.id_category = P.id_product + INNER JOIN demo.Shop_Calc_User_Temp UE_T ON P.id_product = UE_T.id_product AND UE_T.GUID = a_guid SET @@ -8974,7 +8337,7 @@ BEGIN ; END IF; - IF EXISTS (SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE ISNULL(id_product) AND GUID = a_guid AND can_edit = 0 LIMIT 1) THEN + IF EXISTS (SELECT * FROM demo.Shop_Calc_User_Temp WHERE ISNULL(id_product) AND GUID = a_guid AND can_edit = 0 LIMIT 1) THEN DELETE t_ME FROM tmp_Msg_Error t_ME WHERE t_ME.id_type <> v_id_type_error_no_permission @@ -8992,7 +8355,7 @@ BEGIN ; END IF; - CALL partsltd_prod.p_shop_clear_calc_user( + CALL demo.p_shop_clear_calc_user( a_guid , 0 -- a_debug ); @@ -9000,13 +8363,13 @@ BEGIN IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN START TRANSACTION; - INSERT INTO partsltd_prod.Shop_Product_Change_Set ( comment ) + INSERT INTO demo.Shop_Product_Change_Set ( comment ) VALUES ( a_comment ) ; SET v_id_change_set := LAST_INSERT_ID(); - UPDATE partsltd_prod.Shop_Product_Category PC + UPDATE demo.Shop_Product_Category PC INNER JOIN tmp_Category t_C ON PC.id_category = t_C.id_category AND t_C.is_new = 0 @@ -9021,7 +8384,7 @@ BEGIN , PC.id_change_set = v_id_change_set ; - INSERT INTO partsltd_prod.Shop_Product_Category ( + INSERT INTO demo.Shop_Product_Category ( code , name , description @@ -9052,7 +8415,7 @@ BEGIN START TRANSACTION; - DELETE FROM partsltd_prod.Shop_Product_Category_Temp + DELETE FROM demo.Shop_Product_Category_Temp WHERE GUID = a_guid; COMMIT; @@ -9060,7 +8423,7 @@ BEGIN # Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN @@ -9071,7 +8434,7 @@ BEGIN DROP TEMPORARY TABLE tmp_Msg_Error; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -9081,13 +8444,13 @@ select * -- COUNT(*) -- delete -from partsltd_prod.Shop_Product_Category_Temp +from demo.Shop_Product_Category_Temp ; -CALL partsltd_prod.p_shop_save_product_category ( +CALL demo.p_shop_save_product_category ( 'nipples' - , (SELECT GUID FROM partsltd_prod.Shop_Product_Category_Temp ORDER BY id_temp DESC LIMIT 1) + , (SELECT GUID FROM demo.Shop_Product_Category_Temp ORDER BY id_temp DESC LIMIT 1) , 1 , 1 ); @@ -9096,13 +8459,85 @@ select * -- COUNT(*) -- delete -from partsltd_prod.Shop_Product_Category_Temp +from demo.Shop_Product_Category_Temp ; */ +-- Clear previous proc +DROP PROCEDURE IF EXISTS demo.p_shop_save_product_category_test; --- File: 7202_p_shop_clear_calc_product_permutation.sql + +DELIMITER // +CREATE PROCEDURE p_shop_save_product_category_test () +BEGIN + + DECLARE v_guid BINARY(36); + DECLARE v_time_start TIMESTAMP(6); + + SET v_time_start := CURRENT_TIMESTAMP(6); + SET v_guid := 'nips'; + + SELECT * + FROM demo.Shop_Product_Category + ; + SELECT * + FROM demo.Shop_Product_Category_Temp + ; + + START TRANSACTION; + + INSERT INTO demo.Shop_Product_Category_Temp ( + id_category + , name + , code + , description + , id_access_level_required + , display_order + , guid + ) + VALUES ( + -5 -- id_category + , 'Nips' -- name + , 'Lips' -- code + , 'Chips' -- description + , 2 -- id_access_level_required + , 25 -- display_order + , v_guid + ); + + COMMIT; + + SELECT * + FROM demo.Shop_Product_Category_Temp + WHERE GUID = v_guid + ; + + CALL demo.p_shop_save_product_category ( + 'Test save product category' -- comment + , v_guid -- guid + , 1 -- id_user + , 1 -- debug + ); + + SELECT * + FROM demo.Shop_Product_Category + ; + SELECT * + FROM demo.Shop_Product_Category_Temp + ; + + CALL demo.p_debug_timing_reporting ( v_time_start ); +END // +DELIMITER ; + +/* +CALL demo.p_shop_save_product_category_test (); + +DELETE FROM demo.Shop_Product_Category_Temp; + +DROP TABLE IF EXISTS tmp_Msg_Error; +*/ -- Clear previous proc DROP PROCEDURE IF EXISTS p_shop_clear_calc_product_permutation; @@ -9157,104 +8592,6 @@ WHERE GUID = a_guid */ --- File: 7203_p_shop_save_product_test.sql - - --- Clear previous proc -DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_product_test; - - -DELIMITER // -CREATE PROCEDURE p_shop_save_product_test () -BEGIN - - DECLARE v_guid BINARY(36); - DECLARE v_time_start TIMESTAMP(6); - - SET v_time_start := CURRENT_TIMESTAMP(6); - SET v_guid := 'nips'; - - SELECT * - FROM partsltd_prod.Shop_Product - ; - SELECT * - FROM partsltd_prod.Shop_Product_Temp - ; - - START TRANSACTION; - - INSERT INTO partsltd_prod.Shop_Product_Temp ( - id_product - , id_category - , name - , has_variations - , id_access_level_required - , display_order - , active - , guid - ) - VALUES - /* Test 1 - Update - ( - 4 -- id_product - , 1 -- id_category - , 'Laptops' -- name - , 0 -- has_variations - , 2 -- id_access_level_required - , 2 -- display_order - , 1 -- active - , v_guid - ) - */ - /* Test 2 - Insert */ - ( - -14 -- id_product - , 5 -- id_category - , 'Clip' -- name - , 0 -- has_variations - , 1 -- id_access_level_required - , 1 -- display_order - , 1 -- active - , v_guid - ) - ; - - COMMIT; - - SELECT * - FROM partsltd_prod.Shop_Product_Temp - WHERE GUID = v_guid - ; - - CALL partsltd_prod.p_shop_save_product ( - 'Test save product' -- comment - , v_guid -- guid - , 1 -- id_user - , 1 -- debug - ); - - SELECT * - FROM partsltd_prod.Shop_Product - ; - SELECT * - FROM partsltd_prod.Shop_Product_Temp - ; - - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); -END // -DELIMITER ; - -/* -CALL partsltd_prod.p_shop_save_product_test (); - -DELETE FROM partsltd_prod.Shop_Product_Temp; - -DROP TABLE IF EXISTS tmp_Msg_Error; -*/ - --- File: 7203_p_shop_save_product.sql - - -- Clear previous proc @@ -9307,7 +8644,7 @@ BEGIN SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; @@ -9383,8 +8720,8 @@ BEGIN , IFNULL(P_T.display_order, P.display_order) AS display_order , IFNULL(P_T.name, IFNULL(P.name, IFNULL(P_T.id_product, '(No Product)'))) AS name_error , CASE WHEN IFNULL(P_T.id_product, 0) < 1 THEN 1 ELSE 0 END AS is_new - FROM partsltd_prod.Shop_Product_Temp P_T - LEFT JOIN partsltd_prod.Shop_Product P ON P_T.id_product = P.id_product + FROM demo.Shop_Product_Temp P_T + LEFT JOIN demo.Shop_Product P ON P_T.id_product = P.id_product ; -- Validation @@ -9475,7 +8812,7 @@ BEGIN SET v_id_permission_product = (SELECT id_permission FROM Shop_Permission WHERE code = 'STORE_PRODUCT' LIMIT 1); - CALL partsltd_prod.p_shop_calc_user( + CALL demo.p_shop_calc_user( a_guid , a_id_user , FALSE -- get_inactive_users @@ -9486,7 +8823,7 @@ BEGIN ); UPDATE tmp_Product t_P - INNER JOIN partsltd_prod.Shop_Calc_User_Temp UE_T + INNER JOIN demo.Shop_Calc_User_Temp UE_T ON t_P.id_product = UE_T.id_product AND UE_T.GUID = a_guid SET @@ -9512,7 +8849,7 @@ BEGIN ; END IF; - IF EXISTS (SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE ISNULL(id_product) AND GUID = a_guid AND can_edit = 0) THEN + IF EXISTS (SELECT * FROM demo.Shop_Calc_User_Temp WHERE ISNULL(id_product) AND GUID = a_guid AND can_edit = 0) THEN DELETE t_ME FROM tmp_Msg_Error t_ME WHERE t_ME.id_type <> v_id_type_error_no_permission @@ -9530,7 +8867,7 @@ BEGIN ; END IF; - CALL partsltd_prod.p_shop_clear_calc_user( + CALL demo.p_shop_clear_calc_user( a_guid , 0 -- debug ); @@ -9538,13 +8875,13 @@ BEGIN IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN START TRANSACTION; - INSERT INTO partsltd_prod.Shop_Product_Change_Set ( comment ) + INSERT INTO demo.Shop_Product_Change_Set ( comment ) VALUES ( a_comment ) ; SET v_id_change_set := LAST_INSERT_ID(); - UPDATE partsltd_prod.Shop_Product P + UPDATE demo.Shop_Product P INNER JOIN tmp_Product t_P ON P.id_product = t_P.id_product SET P.id_category = t_P.id_category @@ -9556,7 +8893,7 @@ BEGIN , P.id_change_set = v_id_change_set ; - INSERT INTO partsltd_prod.Shop_Product ( + INSERT INTO demo.Shop_Product ( id_category , name , has_variations @@ -9582,29 +8919,118 @@ BEGIN START TRANSACTION; - DELETE FROM partsltd_prod.Shop_Product_Temp + DELETE FROM demo.Shop_Product_Temp WHERE GUID = a_guid; COMMIT; SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; DROP TEMPORARY TABLE IF EXISTS tmp_Product; DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; --- File: 7204_p_shop_calc_product_permutation.sql --- USE partsltd_prod; +-- Clear previous proc +DROP PROCEDURE IF EXISTS demo.p_shop_save_product_test; + + +DELIMITER // +CREATE PROCEDURE p_shop_save_product_test () +BEGIN + + DECLARE v_guid BINARY(36); + DECLARE v_time_start TIMESTAMP(6); + + SET v_time_start := CURRENT_TIMESTAMP(6); + SET v_guid := 'nips'; + + SELECT * + FROM demo.Shop_Product + ; + SELECT * + FROM demo.Shop_Product_Temp + ; + + START TRANSACTION; + + INSERT INTO demo.Shop_Product_Temp ( + id_product + , id_category + , name + , has_variations + , id_access_level_required + , display_order + , active + , guid + ) + VALUES + /* Test 1 - Update + ( + 4 -- id_product + , 1 -- id_category + , 'Laptops' -- name + , 0 -- has_variations + , 2 -- id_access_level_required + , 2 -- display_order + , 1 -- active + , v_guid + ) + */ + /* Test 2 - Insert */ + ( + -14 -- id_product + , 5 -- id_category + , 'Clip' -- name + , 0 -- has_variations + , 1 -- id_access_level_required + , 1 -- display_order + , 1 -- active + , v_guid + ) + ; + + COMMIT; + + SELECT * + FROM demo.Shop_Product_Temp + WHERE GUID = v_guid + ; + + CALL demo.p_shop_save_product ( + 'Test save product' -- comment + , v_guid -- guid + , 1 -- id_user + , 1 -- debug + ); + + SELECT * + FROM demo.Shop_Product + ; + SELECT * + FROM demo.Shop_Product_Temp + ; + + CALL demo.p_debug_timing_reporting ( v_time_start ); +END // +DELIMITER ; + +/* +CALL demo.p_shop_save_product_test (); + +DELETE FROM demo.Shop_Product_Temp; + +DROP TABLE IF EXISTS tmp_Msg_Error; +*/-- USE demo; -- Clear previous proc DROP PROCEDURE IF EXISTS p_shop_calc_product_permutation; @@ -9630,7 +9056,7 @@ BEGIN PROCEDURE p_shop_calc_product_permutation Shared filtering for product permutations - select * FROM partsltd_prod.Shop_msg_error_type; + select * FROM demo.Shop_msg_error_type; */ DECLARE v_has_filter_product_category BIT; DECLARE v_has_filter_product BIT; @@ -9646,7 +9072,7 @@ BEGIN DECLARE v_code_type_error_bad_data VARCHAR(50); SET v_time_start := CURRENT_TIMESTAMP(6); - SET v_id_access_level_view := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW'); + SET v_id_access_level_view := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW'); SELECT MET.id_type @@ -9654,7 +9080,7 @@ BEGIN INTO v_id_type_error_bad_data , v_code_type_error_bad_data - FROM partsltd_prod.Shop_Msg_Error_Type MET + FROM demo.Shop_Msg_Error_Type MET WHERE MET.code = 'BAD_DATA' ; @@ -9745,7 +9171,7 @@ BEGIN -- Categories IF TRUE THEN -- NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN - CALL partsltd_prod.p_split(a_guid, a_ids_product_category, ',', a_debug); + CALL demo.p_split(a_guid, a_ids_product_category, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -9754,21 +9180,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = a_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( a_guid ); + CALL demo.p_clear_split_temp( a_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Category PC ON t_S.as_int = PC.id_category + LEFT JOIN demo.Shop_Product_Category PC ON t_S.as_int = PC.id_category WHERE ISNULL(t_S.as_int) OR ISNULL(PC.id_category) @@ -9789,7 +9215,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive category IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Category PC ON t_S.as_int = PC.id_category + LEFT JOIN demo.Shop_Product_Category PC ON t_S.as_int = PC.id_category WHERE ISNULL(t_S.as_int) OR ISNULL(PC.id_category) @@ -9805,7 +9231,7 @@ BEGIN SELECT PC.id_category FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Product_Category PC ON t_S.as_int = PC.id_category + RIGHT JOIN demo.Shop_Product_Category PC ON t_S.as_int = PC.id_category WHERE ( a_get_all_product_category = 1 OR ( @@ -9825,7 +9251,7 @@ BEGIN -- Products IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN - CALL partsltd_prod.p_split(a_guid, a_ids_product, ',', a_debug); + CALL demo.p_split(a_guid, a_ids_product, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -9834,21 +9260,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = a_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( a_guid ); + CALL demo.p_clear_split_temp( a_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product P ON t_S.as_int = P.id_product + LEFT JOIN demo.Shop_Product P ON t_S.as_int = P.id_product WHERE ISNULL(t_S.as_int) OR ISNULL(P.id_product) @@ -9869,7 +9295,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive product IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product P ON t_S.as_int = P.id_product + LEFT JOIN demo.Shop_Product P ON t_S.as_int = P.id_product WHERE ISNULL(t_S.as_int) OR ISNULL(P.id_product) @@ -9887,7 +9313,7 @@ BEGIN P.id_category , P.id_product FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Product P ON t_S.as_int = P.id_product + RIGHT JOIN demo.Shop_Product P ON t_S.as_int = P.id_product INNER JOIN tmp_Category_calc t_C ON P.id_category = t_C.id_category WHERE ( a_get_all_product = 1 @@ -9908,7 +9334,7 @@ BEGIN -- Permutations IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN - CALL partsltd_prod.p_split(a_guid, a_ids_product, ',', a_debug); + CALL demo.p_split(a_guid, a_ids_product, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -9917,21 +9343,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = a_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( a_guid ); + CALL demo.p_clear_split_temp( a_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation + LEFT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation WHERE ISNULL(t_S.as_int) OR ISNULL(PP.id_permutation) @@ -9948,7 +9374,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive permutation IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation + LEFT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation WHERE ISNULL(t_S.as_int) OR ISNULL(PP.id_permutation) @@ -9968,7 +9394,7 @@ BEGIN -- P.id_category, , PP.id_product FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation + RIGHT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation INNER JOIN tmp_Product_calc t_P ON PP.id_product = t_P.id_product WHERE 1=1 AND ( @@ -9995,7 +9421,7 @@ BEGIN -- Permissions IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS (SELECT * FROM tmp_Product_calc LIMIT 1) THEN - SET v_id_permission_product := (SELECT id_permission FROM partsltd_prod.Shop_Permission WHERE code = 'STORE_PRODUCT' LIMIT 1); + SET v_id_permission_product := (SELECT id_permission FROM demo.Shop_Permission WHERE code = 'STORE_PRODUCT' LIMIT 1); SET v_ids_product_permission := (SELECT GROUP_CONCAT(id_product SEPARATOR ',') FROM tmp_Product_calc WHERE NOT ISNULL(id_product)); IF a_debug = 1 THEN @@ -10021,7 +9447,7 @@ BEGIN UPDATE tmp_Product_calc t_P - INNER JOIN partsltd_prod.Shop_Calc_User_Temp UE_T + INNER JOIN demo.Shop_Calc_User_Temp UE_T ON t_P.id_product = UE_T.id_product AND UE_T.GUID = a_guid SET t_P.can_view = UE_T.can_view, @@ -10031,7 +9457,7 @@ BEGIN IF a_debug = 1 THEN SELECT * - FROM partsltd_prod.Shop_Calc_User_Temp + FROM demo.Shop_Calc_User_Temp WHERE GUID = a_guid ; END IF; @@ -10112,7 +9538,7 @@ BEGIN , MIN(IFNULL(t_P.can_admin, 0)) AS can_admin , a_guid FROM tmp_Category_calc t_C - INNER JOIN partsltd_prod.Shop_Product_Category PC ON t_C.id_category = PC.id_category + INNER JOIN demo.Shop_Product_Category PC ON t_C.id_category = PC.id_category LEFT JOIN tmp_Product_calc t_P ON t_C.id_category = t_P.id_product GROUP BY PC.id_category ; @@ -10144,9 +9570,9 @@ BEGIN , t_P.can_admin , a_guid FROM tmp_Product_calc t_P - INNER JOIN partsltd_prod.Shop_Product P ON t_P.id_product = P.id_product + INNER JOIN demo.Shop_Product P ON t_P.id_product = P.id_product INNER JOIN tmp_Category_calc t_C ON t_P.id_category = t_C.id_category - INNER JOIN partsltd_prod.Shop_Access_Level AL ON P.id_access_level_required = AL.id_access_level + INNER JOIN demo.Shop_Access_Level AL ON P.id_access_level_required = AL.id_access_level GROUP BY P.id_product, t_P.can_view, t_P.can_edit, t_P.can_admin ; @@ -10205,15 +9631,15 @@ BEGIN , IFNULL(t_P.can_admin, 0) AS can_admin , a_guid FROM tmp_Permutation_calc t_PP - INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON t_PP.id_permutation = PP.id_permutation + INNER JOIN demo.Shop_Product_Permutation PP ON t_PP.id_permutation = PP.id_permutation INNER JOIN tmp_Product_calc t_P ON t_PP.id_product = t_P.id_product - INNER JOIN partsltd_prod.Shop_Product P ON t_PP.id_product = P.id_product - INNER JOIN partsltd_prod.Shop_Product_Category PC ON P.id_category = PC.id_category - LEFT JOIN partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL ON PP.id_permutation = PPVL.id_permutation - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM_Q ON PP.id_unit_measurement_quantity = UM_Q.id_unit_measurement - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM_R ON PP.id_unit_measurement_interval_recurrence = UM_R.id_unit_measurement - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM_X ON PP.id_unit_measurement_interval_expiration_unsealed = UM_X.id_unit_measurement - INNER JOIN partsltd_prod.Shop_Currency C ON PP.id_currency_cost = C.id_currency + INNER JOIN demo.Shop_Product P ON t_PP.id_product = P.id_product + INNER JOIN demo.Shop_Product_Category PC ON P.id_category = PC.id_category + LEFT JOIN demo.Shop_Product_Permutation_Variation_Link PPVL ON PP.id_permutation = PPVL.id_permutation + LEFT JOIN demo.Shop_Unit_Measurement UM_Q ON PP.id_unit_measurement_quantity = UM_Q.id_unit_measurement + LEFT JOIN demo.Shop_Unit_Measurement UM_R ON PP.id_unit_measurement_interval_recurrence = UM_R.id_unit_measurement + LEFT JOIN demo.Shop_Unit_Measurement UM_X ON PP.id_unit_measurement_interval_expiration_unsealed = UM_X.id_unit_measurement + INNER JOIN demo.Shop_Currency C ON PP.id_currency_cost = C.id_currency GROUP BY PP.id_permutation, t_P.can_view, t_P.can_edit, t_P.can_admin ; @@ -10231,7 +9657,7 @@ BEGIN MET.name, MET.description FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type WHERE guid = a_guid ; @@ -10243,15 +9669,15 @@ BEGIN ; SELECT * - FROM partsltd_prod.Shop_Product_Category_Temp + FROM demo.Shop_Product_Category_Temp WHERE GUID = a_guid ; SELECT * - FROM partsltd_prod.Shop_Product_Temp + FROM demo.Shop_Product_Temp WHERE GUID = a_guid ; SELECT * - FROM partsltd_prod.Shop_Product_Permutation_Temp + FROM demo.Shop_Product_Permutation_Temp WHERE GUID = a_guid ; @@ -10265,7 +9691,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Category_calc; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -10273,7 +9699,7 @@ DELIMITER ; /* -CALL partsltd_prod.p_shop_calc_product_permutation ( +CALL demo.p_shop_calc_product_permutation ( 1 #'auth0|6582b95c895d09a70ba10fef', # a_id_user , 1 # a_get_all_product_category , 0 # a_get_inactive_product_category @@ -10291,38 +9717,35 @@ CALL partsltd_prod.p_shop_calc_product_permutation ( SELECT * - FROM partsltd_prod.Shop_Product_Category_Temp + FROM demo.Shop_Product_Category_Temp WHERE GUID = 'NIPS ' ; SELECT * - FROM partsltd_prod.Shop_Product_Temp + FROM demo.Shop_Product_Temp WHERE GUID = 'NIPS ' ; SELECT * - FROM partsltd_prod.Shop_Product_Permutation_Temp + FROM demo.Shop_Product_Permutation_Temp WHERE GUID = 'NIPS ' ; CALL p_shop_clear_calc_product_permutation ( 'NIPS ' ); SELECT * - FROM partsltd_prod.Shop_Product_Category_Temp + FROM demo.Shop_Product_Category_Temp WHERE GUID = 'NIPS ' ; SELECT * - FROM partsltd_prod.Shop_Product_Temp + FROM demo.Shop_Product_Temp WHERE GUID = 'NIPS ' ; SELECT * - FROM partsltd_prod.Shop_Product_Permutation_Temp + FROM demo.Shop_Product_Permutation_Temp WHERE GUID = 'NIPS ' ; -*/ - --- File: 7204_p_shop_get_many_product.sql --- -USE partsltd_prod; +*/-- +USE demo; -- Clear previous proc DROP PROCEDURE IF EXISTS p_shop_get_many_product; @@ -10367,7 +9790,7 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_guid := UUID(); - SET v_id_access_level_view := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW'); + SET v_id_access_level_view := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW'); -- Argument validation + default values @@ -10469,7 +9892,7 @@ BEGIN -- select v_has_filter_product, v_has_filter_permutation; - CALL partsltd_prod.p_shop_calc_product_permutation ( + CALL demo.p_shop_calc_product_permutation ( a_id_user , a_get_all_product_category , a_get_inactive_product_category @@ -10498,8 +9921,8 @@ BEGIN PC.active, */ , PC.display_order - FROM (SELECT * FROM partsltd_prod.Shop_Product_Category_Temp WHERE GUID = v_guid) PC_T - INNER JOIN partsltd_prod.Shop_Product_Category PC ON PC_T.id_category = PC.id_category + FROM (SELECT * FROM demo.Shop_Product_Category_Temp WHERE GUID = v_guid) PC_T + INNER JOIN demo.Shop_Product_Category PC ON PC_T.id_category = PC.id_category ; INSERT INTO tmp_Product ( @@ -10515,8 +9938,8 @@ BEGIN , P.id_category -- P.active, , P.display_order - FROM (SELECT * FROM partsltd_prod.Shop_Product_Temp WHERE GUID = v_guid) P_T - INNER JOIN partsltd_prod.Shop_Product P ON P.id_product = P_T.id_product + FROM (SELECT * FROM demo.Shop_Product_Temp WHERE GUID = v_guid) P_T + INNER JOIN demo.Shop_Product P ON P.id_product = P_T.id_product ; INSERT INTO tmp_Permutation ( @@ -10532,13 +9955,13 @@ BEGIN , PP.id_product -- , PP.active -- , RANK() OVER (ORDER BY VT.display_order, V.display_order) - FROM (SELECT * FROM partsltd_prod.Shop_Product_Permutation_Temp WHERE GUID = v_guid) PP_T - INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON PP_T.id_permutation = PP.id_permutation + FROM (SELECT * FROM demo.Shop_Product_Permutation_Temp WHERE GUID = v_guid) PP_T + INNER JOIN demo.Shop_Product_Permutation PP ON PP_T.id_permutation = PP.id_permutation ; # Product Images IF (v_has_filter_image = 1 AND NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1)) THEN - CALL partsltd_prod.p_split(v_guid, a_ids_image, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_image, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -10547,21 +9970,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Image I ON t_S.as_int = I.id_image + LEFT JOIN demo.Shop_Product_Image I ON t_S.as_int = I.id_image WHERE ISNULL(t_S.as_int) OR ISNULL(I.id_image) @@ -10578,7 +10001,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive image IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Image I ON t_S.as_int = I.id_image + LEFT JOIN demo.Shop_Product_Image I ON t_S.as_int = I.id_image WHERE ISNULL(t_S.as_int) OR ISNULL(I.id_image) @@ -10593,7 +10016,7 @@ BEGIN I.id_image , I.id_permutation FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Product_Image I ON t_S.as_int = I.id_image + RIGHT JOIN demo.Shop_Product_Image I ON t_S.as_int = I.id_image INNER JOIN tmp_Permutation t_PP ON I.id_permutation = t_PP.id_permutation WHERE ( @@ -10626,9 +10049,9 @@ BEGIN , MIN(t_P.can_edit) AS can_edit , MIN(t_P.can_admin) AS can_admin FROM tmp_Category t_C - INNER JOIN partsltd_prod.Shop_Product_Category PC ON t_C.id_category = PC.id_category + INNER JOIN demo.Shop_Product_Category PC ON t_C.id_category = PC.id_category LEFT JOIN tmp_Product t_P ON t_C.id_category = t_P.id_product - INNER JOIN partsltd_prod.Shop_Access_Level AL ON PC.id_access_level_required = AL.id_access_level + INNER JOIN demo.Shop_Access_Level AL ON PC.id_access_level_required = AL.id_access_level GROUP BY t_C.id_category -- , t_P.id_product ORDER BY PC.display_order ; @@ -10647,9 +10070,9 @@ BEGIN t_P.can_edit, t_P.can_admin FROM tmp_Product t_P - INNER JOIN partsltd_prod.Shop_Product P ON t_P.id_product = P.id_product + INNER JOIN demo.Shop_Product P ON t_P.id_product = P.id_product INNER JOIN tmp_Category t_C ON t_P.id_category = t_C.id_category - INNER JOIN partsltd_prod.Shop_Access_Level AL ON P.id_access_level_required = AL.id_access_level + INNER JOIN demo.Shop_Access_Level AL ON P.id_access_level_required = AL.id_access_level GROUP BY t_P.id_category, t_C.display_order, t_P.id_product, t_P.can_view, t_P.can_edit, t_P.can_admin ORDER BY t_C.display_order, P.display_order ; @@ -10698,15 +10121,15 @@ BEGIN IFNULL(t_P.can_edit, 0) AS can_edit, IFNULL(t_P.can_admin, 0) AS can_admin FROM tmp_Permutation t_PP - INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON t_PP.id_permutation = PP.id_permutation + INNER JOIN demo.Shop_Product_Permutation PP ON t_PP.id_permutation = PP.id_permutation INNER JOIN tmp_Product t_P ON t_PP.id_product = t_P.id_product - INNER JOIN partsltd_prod.Shop_Product P ON t_PP.id_product = P.id_product - INNER JOIN partsltd_prod.Shop_Product_Category PC ON P.id_category = PC.id_category - LEFT JOIN partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL ON PP.id_permutation = PPVL.id_permutation - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM_Q ON PP.id_unit_measurement_quantity = UM_Q.id_unit_measurement - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM_R ON PP.id_unit_measurement_interval_recurrence = UM_R.id_unit_measurement - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM_X ON PP.id_unit_measurement_interval_expiration_unsealed = UM_X.id_unit_measurement - INNER JOIN partsltd_prod.Shop_Currency C ON PP.id_currency_cost = C.id_currency + INNER JOIN demo.Shop_Product P ON t_PP.id_product = P.id_product + INNER JOIN demo.Shop_Product_Category PC ON P.id_category = PC.id_category + LEFT JOIN demo.Shop_Product_Permutation_Variation_Link PPVL ON PP.id_permutation = PPVL.id_permutation + LEFT JOIN demo.Shop_Unit_Measurement UM_Q ON PP.id_unit_measurement_quantity = UM_Q.id_unit_measurement + LEFT JOIN demo.Shop_Unit_Measurement UM_R ON PP.id_unit_measurement_interval_recurrence = UM_R.id_unit_measurement + LEFT JOIN demo.Shop_Unit_Measurement UM_X ON PP.id_unit_measurement_interval_expiration_unsealed = UM_X.id_unit_measurement + INNER JOIN demo.Shop_Currency C ON PP.id_currency_cost = C.id_currency GROUP BY PC.id_category, P.id_product, PP.id_permutation, t_P.can_view, t_P.can_edit, t_P.can_admin ORDER BY PC.display_order, P.display_order -- , t_PP.display_order ; @@ -10727,9 +10150,9 @@ BEGIN , t_P.id_product , t_PP.id_permutation , t_C.id_category - FROM partsltd_prod.Shop_Variation V - INNER JOIN partsltd_prod.Shop_Variation_Type VT ON V.id_type = VT.id_type - INNER JOIN partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL ON V.id_variation = PPVL.id_variation + FROM demo.Shop_Variation V + INNER JOIN demo.Shop_Variation_Type VT ON V.id_type = VT.id_type + INNER JOIN demo.Shop_Product_Permutation_Variation_Link PPVL ON V.id_variation = PPVL.id_variation INNER JOIN tmp_Permutation t_PP ON PPVL.id_permutation = t_PP.id_permutation INNER JOIN tmp_Product t_P ON t_PP.id_product = t_P.id_product INNER JOIN tmp_Category t_C ON t_P.id_category = t_C.id_category @@ -10748,7 +10171,7 @@ BEGIN I.active, I.display_order FROM tmp_Image t_I - INNER JOIN partsltd_prod.Shop_Product_Image I ON t_I.id_image = I.id_image + INNER JOIN demo.Shop_Product_Image I ON t_I.id_image = I.id_image INNER JOIN tmp_Permutation t_PP ON t_I.id_permutation = t_PP.id_permutation INNER JOIN tmp_Product t_P ON t_PP.id_product = t_P.id_product INNER JOIN tmp_Category t_C ON t_P.id_category = t_C.id_category @@ -10767,7 +10190,7 @@ BEGIN MET.description */ FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type -- WHERE guid = v_guid ; @@ -10784,10 +10207,10 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Permutation; DROP TEMPORARY TABLE IF EXISTS tmp_Product; - CALL partsltd_prod.p_shop_clear_calc_product_permutation ( v_guid ); + CALL demo.p_shop_clear_calc_product_permutation ( v_guid ); IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -10795,7 +10218,7 @@ DELIMITER ; /* -CALL partsltd_prod.p_shop_get_many_product ( +CALL demo.p_shop_get_many_product ( 1 #'auth0|6582b95c895d09a70ba10fef', # a_id_user , 1 # a_get_all_product_category , 0 # a_get_inactive_product_category @@ -10813,21 +10236,21 @@ CALL partsltd_prod.p_shop_get_many_product ( , 0 # a_debug ); -select * FROM partsltd_prod.Shop_Calc_User_Temp; +select * FROM demo.Shop_Calc_User_Temp; -select * FROM partsltd_prod.Shop_Product_Category; -select * FROM partsltd_prod.Shop_Product_Permutation; -select * FROM partsltd_prod.Shop_product_change_set; +select * FROM demo.Shop_Product_Category; +select * FROM demo.Shop_Product_Permutation; +select * FROM demo.Shop_product_change_set; insert into shop_product_change_set ( comment ) values ('set stock quantities below minimum for testing'); update shop_product_permutation set quantity_stock = 0, - id_change_set = (select id_change_set FROM partsltd_prod.Shop_product_change_set order by id_change_set desc limit 1) + id_change_set = (select id_change_set FROM demo.Shop_product_change_set order by id_change_set desc limit 1) where id_permutation < 5 DROP TABLE IF EXISTS tmp_Msg_Error; -select * FROM partsltd_prod.Shop_image; -select * FROM partsltd_prod.Shop_product; +select * FROM demo.Shop_image; +select * FROM demo.Shop_product; select * from TMP_MSG_ERROR; DROP TABLE TMP_MSG_ERROR; @@ -10835,19 +10258,16 @@ 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 partsltd_prod.Shop_product_change_set order by id_change_set desc limit 1) + id_change_set = (select id_change_set FROM demo.Shop_product_change_set order by id_change_set desc limit 1) where id_product = 1 -select * FROM partsltd_prod.Shop_Calc_User_Temp; +select * FROM demo.Shop_Calc_User_Temp; select distinct guid -- DELETE -FROM partsltd_prod.Shop_Calc_User_Temp; +FROM demo.Shop_Calc_User_Temp; */ --- File: 7205_p_shop_get_many_stripe_product_new.sql - - /* @@ -11155,182 +10575,6 @@ CALL p_shop_calc_user ( */ --- File: 7206_p_shop_save_product_permutation_test.sql - - --- Clear previous proc -DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_product_permutation_test; - - -DELIMITER // -CREATE PROCEDURE p_shop_save_product_permutation_test () -BEGIN - - DECLARE v_guid BINARY(36); - DECLARE v_time_start TIMESTAMP(6); - - SET v_time_start := CURRENT_TIMESTAMP(6); - SET v_guid := 'nips'; - - SELECT * - FROM partsltd_prod.Shop_Product_Permutation - ; - SELECT * - FROM partsltd_prod.Shop_Product_Permutation_Variation_Link - ; - SELECT * - FROM partsltd_prod.Shop_Product_Permutation_Temp - ; - - START TRANSACTION; - - INSERT INTO partsltd_prod.Shop_Product_Permutation_Temp ( - id_permutation - , id_product - , csv_id_pairs_variation - , description - , cost_local_VAT_excl - , cost_local_VAT_incl - , id_currency_cost - , profit_local_min - , latency_manufacture - , id_unit_measurement_quantity - , count_unit_measurement_per_quantity_step - , quantity_min - , quantity_max - , quantity_stock - , is_subscription - , id_unit_measurement_interval_recurrence - , count_interval_recurrence - , id_stripe_product - , does_expire_faster_once_unsealed - , id_unit_measurement_interval_expiration_unsealed - , count_interval_expiration_unsealed - , active - , guid - ) - VALUES - /* Test 1 - Insert - ( - -1 -- id_permutation - , 5 -- id_product - , '' -- csv_id_pairs_variation - , 'Hair clip' -- description - , NULL -- cost_local_VAT_excl - , NULL -- cost_local_VAT_incl - , 1 -- id_currency_cost - , NULL -- profit_local_min - , 1 -- latency_manufacture - , 3 -- id_unit_measurement_quantity - , 1 -- count_unit_measurement_per_quantity_step - , 0 -- quantity_min - , 0 -- quantity_max - , 2 -- quantity_stock - , FALSE -- is_subscription - , NULL -- id_unit_measurement_interval_recurrence - , NULL -- count_interval_recurrence - , NULL -- id_stripe_product - , FALSE -- does_expire_faster_once_unsealed - , NULL -- id_unit_measurement_interval_expiration_unsealed - , NULL -- count_interval_expiration_unsealed - , 1 -- active - , v_guid - ) - */ - /* Test 2 - Update - ( - 4 -- id_product - , 1 -- id_category - , 'Laptops' -- name - , 0 -- has_variations - , 2 -- id_access_level_required - , 2 -- display_order - , 1 -- active - , v_guid - ) - */ - /* Test 3 - Insert with Variations */ - ( - -1 -- id_permutation - , 1 -- id_product - , '1:3' -- csv_id_pairs_variation - , 'Good Green' -- description - , NULL -- cost_local_VAT_excl - , NULL -- cost_local_VAT_incl - , 1 -- id_currency_cost - , NULL -- profit_local_min - , 1 -- latency_manufacture - , 3 -- id_unit_measurement_quantity - , 1 -- count_unit_measurement_per_quantity_step - , 0 -- quantity_min - , 0 -- quantity_max - , 2 -- quantity_stock - , FALSE -- is_subscription - , NULL -- id_unit_measurement_interval_recurrence - , NULL -- count_interval_recurrence - , NULL -- id_stripe_product - , TRUE -- does_expire_faster_once_unsealed - , 8 -- id_unit_measurement_interval_expiration_unsealed - , 2 -- count_interval_expiration_unsealed - , 1 -- active - , v_guid - ) - ; - - COMMIT; - - SELECT * - FROM partsltd_prod.Shop_Product_Permutation_Temp - WHERE GUID = v_guid - ; - - CALL partsltd_prod.p_shop_save_product_permutation ( - 'Test save product' -- comment - , v_guid -- guid - , 1 -- id_user - , 1 -- debug - ); - - SELECT * - FROM partsltd_prod.Shop_Product_Permutation - ; - SELECT * - FROM partsltd_prod.Shop_Product_Permutation_Variation_Link - ; - SELECT * - FROM partsltd_prod.Shop_Product_Permutation_Temp - ; - - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); -END // -DELIMITER ; - -/* -CALL partsltd_prod.p_shop_save_product_permutation_test (); - -DELETE FROM partsltd_prod.Shop_Product_Permutation_Temp; - -DROP TABLE IF EXISTS tmp_Msg_Error; - - -DELETE FROM partsltd_prod.Shop_Product_Permutation_Variation_Link -WHERE id_link >= 3 -; -DELETE FROM partsltd_prod.Shop_Product_Permutation -WHERE id_permutation >= 7 -; - - SELECT * - FROM partsltd_prod.Shop_Product_Permutation_Variation_Link_Temp - ; - SELECT * - FROM partsltd_prod.Shop_Variation - ; -*/ - --- File: 7206_p_shop_save_product_permutation.sql - - -- Clear previous proc DROP PROCEDURE IF EXISTS p_shop_save_permutation; DROP PROCEDURE IF EXISTS p_shop_save_product_permutation; @@ -11382,7 +10626,7 @@ BEGIN MET.id_type , @errno , @text - FROM partsltd_prod.Shop_Msg_Error_Type MET + FROM demo.Shop_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' LIMIT 1 ; @@ -11509,7 +10753,7 @@ BEGIN ; SELECT - partsltd_prod.fn_shop_get_product_variations_from_id_csv_list( + demo.fn_shop_get_product_variations_from_id_csv_list( t_PP.id_permutation -- a_id_permutation , t_PP.csv_id_pairs_variation -- a_variation_csv , a_guid -- a_guid @@ -11533,8 +10777,8 @@ BEGIN , PPVL_T.display_order , NOT ISNULL(PPVL_T.id_link) AS active , IFNULL(PPVL_T.id_link, 0) < 1 AS is_new - FROM partsltd_prod.Shop_Product_Permutation_Variation_Link_Temp PPVL_T - LEFT JOIN partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL ON PPVL_T.id_link = PPVL.id_variation + FROM demo.Shop_Product_Permutation_Variation_Link_Temp PPVL_T + LEFT JOIN demo.Shop_Product_Permutation_Variation_Link PPVL ON PPVL_T.id_link = PPVL.id_variation LEFT JOIN tmp_Permutation t_PP ON PPVL_T.id_permutation = t_PP.id_permutation WHERE PPVL_T.GUID = a_guid ; @@ -11763,7 +11007,7 @@ BEGIN IF a_debug = 1 THEN SELECT * - FROM partsltd_prod.Shop_Calc_User_Temp + FROM demo.Shop_Calc_User_Temp WHERE GUID = a_guid ; SELECT * @@ -11788,7 +11032,7 @@ BEGIN ; END IF; - IF EXISTS (SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE ISNULL(id_product) AND GUID = a_guid AND can_edit = 0) THEN + IF EXISTS (SELECT * FROM demo.Shop_Calc_User_Temp WHERE ISNULL(id_product) AND GUID = a_guid AND can_edit = 0) THEN DELETE FROM tmp_Msg_Error WHERE id_type <> v_id_type_error_no_permission ; @@ -11813,7 +11057,7 @@ BEGIN IF a_debug = 1 THEN SELECT * - FROM partsltd_prod.Shop_Product_Permutation_Variation_Link_Temp + FROM demo.Shop_Product_Permutation_Variation_Link_Temp WHERE GUID = a_guid ; END IF; @@ -11913,7 +11157,7 @@ BEGIN ; UPDATE tmp_Permutation t_PP - INNER JOIN partsltd_prod.Shop_Product_Permutation PP + INNER JOIN demo.Shop_Product_Permutation PP ON t_PP.id_permutation_temp = PP.id_permutation_temp AND PP.id_change_set = v_id_change_set SET @@ -11925,7 +11169,7 @@ BEGIN t_PPVL.id_permutation = t_PP.id_permutation ; - INSERT INTO partsltd_prod.Shop_Product_Permutation_Variation_Link ( + INSERT INTO demo.Shop_Product_Permutation_Variation_Link ( id_permutation , id_variation , display_order @@ -11942,7 +11186,7 @@ BEGIN AND t_PPVL.active = 1 ; - UPDATE partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL + UPDATE demo.Shop_Product_Permutation_Variation_Link PPVL INNER JOIN tmp_Permutation_Variation_Link t_PPVL ON PPVL.id_link = t_PPVL.id_link AND t_PPVL.is_new = 1 @@ -11963,7 +11207,7 @@ BEGIN WHERE GUID = a_guid ; - DELETE FROM partsltd_prod.Shop_Product_Permutation_Variation_Link_Temp + DELETE FROM demo.Shop_Product_Permutation_Variation_Link_Temp WHERE GUID = a_guid ; @@ -11972,7 +11216,7 @@ BEGIN # Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN @@ -11985,7 +11229,7 @@ BEGIN DROP TEMPORARY TABLE tmp_Msg_Error; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -12075,8 +11319,175 @@ select * from shop_unit_measurement; --- File: 7210_p_shop_get_many_product_variation.sql +-- Clear previous proc +DROP PROCEDURE IF EXISTS demo.p_shop_save_product_permutation_test; + +DELIMITER // +CREATE PROCEDURE p_shop_save_product_permutation_test () +BEGIN + + DECLARE v_guid BINARY(36); + DECLARE v_time_start TIMESTAMP(6); + + SET v_time_start := CURRENT_TIMESTAMP(6); + SET v_guid := 'nips'; + + SELECT * + FROM demo.Shop_Product_Permutation + ; + SELECT * + FROM demo.Shop_Product_Permutation_Variation_Link + ; + SELECT * + FROM demo.Shop_Product_Permutation_Temp + ; + + START TRANSACTION; + + INSERT INTO demo.Shop_Product_Permutation_Temp ( + id_permutation + , id_product + , csv_id_pairs_variation + , description + , cost_local_VAT_excl + , cost_local_VAT_incl + , id_currency_cost + , profit_local_min + , latency_manufacture + , id_unit_measurement_quantity + , count_unit_measurement_per_quantity_step + , quantity_min + , quantity_max + , quantity_stock + , is_subscription + , id_unit_measurement_interval_recurrence + , count_interval_recurrence + , id_stripe_product + , does_expire_faster_once_unsealed + , id_unit_measurement_interval_expiration_unsealed + , count_interval_expiration_unsealed + , active + , guid + ) + VALUES + /* Test 1 - Insert + ( + -1 -- id_permutation + , 5 -- id_product + , '' -- csv_id_pairs_variation + , 'Hair clip' -- description + , NULL -- cost_local_VAT_excl + , NULL -- cost_local_VAT_incl + , 1 -- id_currency_cost + , NULL -- profit_local_min + , 1 -- latency_manufacture + , 3 -- id_unit_measurement_quantity + , 1 -- count_unit_measurement_per_quantity_step + , 0 -- quantity_min + , 0 -- quantity_max + , 2 -- quantity_stock + , FALSE -- is_subscription + , NULL -- id_unit_measurement_interval_recurrence + , NULL -- count_interval_recurrence + , NULL -- id_stripe_product + , FALSE -- does_expire_faster_once_unsealed + , NULL -- id_unit_measurement_interval_expiration_unsealed + , NULL -- count_interval_expiration_unsealed + , 1 -- active + , v_guid + ) + */ + /* Test 2 - Update + ( + 4 -- id_product + , 1 -- id_category + , 'Laptops' -- name + , 0 -- has_variations + , 2 -- id_access_level_required + , 2 -- display_order + , 1 -- active + , v_guid + ) + */ + /* Test 3 - Insert with Variations */ + ( + -1 -- id_permutation + , 1 -- id_product + , '1:3' -- csv_id_pairs_variation + , 'Good Green' -- description + , NULL -- cost_local_VAT_excl + , NULL -- cost_local_VAT_incl + , 1 -- id_currency_cost + , NULL -- profit_local_min + , 1 -- latency_manufacture + , 3 -- id_unit_measurement_quantity + , 1 -- count_unit_measurement_per_quantity_step + , 0 -- quantity_min + , 0 -- quantity_max + , 2 -- quantity_stock + , FALSE -- is_subscription + , NULL -- id_unit_measurement_interval_recurrence + , NULL -- count_interval_recurrence + , NULL -- id_stripe_product + , TRUE -- does_expire_faster_once_unsealed + , 8 -- id_unit_measurement_interval_expiration_unsealed + , 2 -- count_interval_expiration_unsealed + , 1 -- active + , v_guid + ) + ; + + COMMIT; + + SELECT * + FROM demo.Shop_Product_Permutation_Temp + WHERE GUID = v_guid + ; + + CALL demo.p_shop_save_product_permutation ( + 'Test save product' -- comment + , v_guid -- guid + , 1 -- id_user + , 1 -- debug + ); + + SELECT * + FROM demo.Shop_Product_Permutation + ; + SELECT * + FROM demo.Shop_Product_Permutation_Variation_Link + ; + SELECT * + FROM demo.Shop_Product_Permutation_Temp + ; + + CALL demo.p_debug_timing_reporting ( v_time_start ); +END // +DELIMITER ; + +/* +CALL demo.p_shop_save_product_permutation_test (); + +DELETE FROM demo.Shop_Product_Permutation_Temp; + +DROP TABLE IF EXISTS tmp_Msg_Error; + + +DELETE FROM demo.Shop_Product_Permutation_Variation_Link +WHERE id_link >= 3 +; +DELETE FROM demo.Shop_Product_Permutation +WHERE id_permutation >= 7 +; + + SELECT * + FROM demo.Shop_Product_Permutation_Variation_Link_Temp + ; + SELECT * + FROM demo.Shop_Variation + ; +*/ DROP PROCEDURE IF EXISTS p_shop_get_many_product_variation; DELIMITER // @@ -12170,7 +11581,7 @@ BEGIN -- select v_has_filter_product, v_has_filter_permutation; IF v_has_filter_variation_type THEN -- NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN - CALL partsltd_prod.p_split(v_guid, a_ids_variation_type, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_variation_type, ',', a_debug); DELETE FROM tmp_Split; @@ -12181,21 +11592,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Variation_Type VT ON t_S.as_int = VT.id_type + LEFT JOIN demo.Shop_Variation_Type VT ON t_S.as_int = VT.id_type WHERE ISNULL(t_S.as_int) OR ISNULL(VT.id_type) @@ -12212,7 +11623,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive variation type IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Variation_Type VT ON t_S.as_int = VT.id_type + LEFT JOIN demo.Shop_Variation_Type VT ON t_S.as_int = VT.id_type WHERE ISNULL(t_S.as_int) OR ISNULL(VT.id_type) @@ -12224,7 +11635,7 @@ BEGIN SELECT DISTINCT VT.id_type FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Variation_Type VT ON t_S.as_int = VT.id_type + RIGHT JOIN demo.Shop_Variation_Type VT ON t_S.as_int = VT.id_type WHERE ( a_get_all_variation_type = 1 @@ -12244,7 +11655,7 @@ BEGIN DELETE FROM tmp_Split; IF (v_has_filter_variation AND NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1)) THEN -- NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN - CALL partsltd_prod.p_split(v_guid, a_ids_variation, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_variation, ',', a_debug); DELETE FROM tmp_Split; @@ -12255,21 +11666,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Variation V ON t_S.as_int = V.id_variation + LEFT JOIN demo.Shop_Variation V ON t_S.as_int = V.id_variation WHERE ISNULL(t_S.as_int) OR ISNULL(V.id_variation) @@ -12286,7 +11697,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive variation IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Variation V ON t_S.as_int = V.id_variation + LEFT JOIN demo.Shop_Variation V ON t_S.as_int = V.id_variation WHERE ISNULL(t_S.as_int) OR ISNULL(VT.id_type) @@ -12300,7 +11711,7 @@ BEGIN DISTINCT V.id_variation , V.id_type FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Variation V ON t_S.as_int = V.id_variation + RIGHT JOIN demo.Shop_Variation V ON t_S.as_int = V.id_variation WHERE ( a_get_all_variation = 1 @@ -12423,10 +11834,10 @@ BEGIN DROP TABLE IF EXISTS tmp_Variation; DROP TABLE IF EXISTS tmp_Variation_Type; - CALL partsltd_prod.p_shop_clear_calc_product_permutation ( v_guid ); + CALL demo.p_shop_clear_calc_product_permutation ( v_guid ); IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -12494,197 +11905,6 @@ insert into shop_product_change_set (comment) END IF; */ --- File: 7212_p_shop_save_product_variation_test.sql - - --- Clear previous proc -DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_product_variation_test; - - -DELIMITER // -CREATE PROCEDURE p_shop_save_product_variation_test () -BEGIN - - DECLARE v_guid BINARY(36); - DECLARE v_time_start TIMESTAMP(6); - - SET v_time_start := CURRENT_TIMESTAMP(6); - SET v_guid := 'nips'; - - SELECT * - FROM partsltd_prod.Shop_Variation_Type - ; - SELECT * - FROM partsltd_prod.Shop_Variation_Type_Temp - ; - SELECT * - FROM partsltd_prod.Shop_Variation - ; - SELECT * - FROM partsltd_prod.Shop_Variation_Temp - ; - - START TRANSACTION; - - DELETE FROM partsltd_prod.Shop_Variation_Type_Temp; - DELETE FROM partsltd_prod.Shop_Variation_Temp; - - INSERT INTO partsltd_prod.Shop_Variation_Type_Temp ( - id_type - -- , id_type_temp - , code - , name - , name_plural - , display_order - , active - , GUID - ) - /* Test 1 - Insert - VALUES ( - -1 - -- , -1 - , 'SIZE' - , 'Size' - , 'Sizes' - , 2 - , 1 - , v_guid - ) - */ - /* Test 2: Alter */ - SELECT - id_type - -- , id_type AS id_type_temp - , code - , name - , name_plural - , display_order - , active - , v_guid AS GUID - FROM partsltd_prod.Shop_Variation_Type - WHERE id_type = 1 - ; - - INSERT INTO partsltd_prod.Shop_Variation_Temp ( - id_variation - , id_type - , code - , name - , display_order - , active - , GUID - ) - /* Test 1 - Insert - VALUES ( - -1 -- id_variation - , -1 -- id_type - , '300 mL' -- code - , '300 millilitres' -- name - , 1 -- display_order - , 1 -- active - , v_guid -- - ) - */ - /* Test 3 - Insert - VALUES ( - -1 -- id_variation - , 1 -- id_type - , 'SILVER' -- code - , 'Silver' -- name - , 10 -- display_order - , 1 -- active - , 'NIPS' -- v_guid -- - ); - */ - /* Test 2: Alter */ - SELECT - id_variation - , id_type - , code - , name - , display_order - , active - , v_guid AS GUID - FROM partsltd_prod.Shop_Variation - WHERE id_variation = 2 - UNION - SELECT - -1 -- id_variation - , 1 -- id_type - , 'GREEN' -- code - , 'Green' -- name - , 3 -- display_order - , 1 -- active - , v_guid -- - ; - - COMMIT; - - SELECT * - FROM partsltd_prod.Shop_Variation_Type_Temp - WHERE GUID = v_guid - ; - - SELECT * - FROM partsltd_prod.Shop_Variation_Temp - WHERE GUID = v_guid - ; - - CALL partsltd_prod.p_shop_save_product_variation ( - 'Test save Variations - add + edit' -- comment - , v_guid -- guid - , 1 -- id_user - , 1 -- debug - ); - - SELECT * - FROM partsltd_prod.Shop_Variation_Type_Temp - ; - SELECT * - FROM partsltd_prod.Shop_Variation_Temp - ; - SELECT * - FROM partsltd_prod.Shop_Variation_Type - ; - SELECT * - FROM partsltd_prod.Shop_Variation - ; - - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); -END // -DELIMITER ; - -/* -CALL partsltd_prod.p_shop_save_product_variation_test (); - -DELETE FROM partsltd_prod.Shop_Variation_Type_Temp; -DELETE FROM partsltd_prod.Shop_Variation_Temp; - -DROP TABLE IF EXISTS tmp_Msg_Error; - - -delete from shop_variation_audit -where id_variation = 3 -; -delete from shop_variation_audit -where id_variation = 3 -; -delete from shop_variation_type_audit -where id_type = -1 -; -delete --- select * - from shop_variation_type -where id_type = -1 -; - -Cannot add or update a child row: a foreign key constraint fails (`partsltd_prod`.`shop_variation_type`, CONSTRAINT `FK_Shop_Variation_Type_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`)) - -*/ - --- File: 7212_p_shop_save_product_variation.sql - - -- Clear previous proc DROP PROCEDURE IF EXISTS p_shop_save_product_variation; @@ -12737,7 +11957,7 @@ BEGIN MET.id_type , @errno , @text - FROM partsltd_prod.Shop_Msg_Error_Type MET + FROM demo.Shop_Msg_Error_Type MET WHERE code = 'MYSQL_ERROR' LIMIT 1 ; @@ -12747,14 +11967,14 @@ BEGIN END; SET v_time_start := CURRENT_TIMESTAMP(6); - SET v_code_type_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); - SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); - SET v_code_type_error_no_permission := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1); - SET v_id_type_error_no_permission := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1); - SET v_code_type_error_warning := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'WARNING' LIMIT 1); - SET v_id_type_error_warning := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_warning LIMIT 1); - SET v_ids_permission_product_variation := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM partsltd_prod.Shop_Permission WHERE code IN ('STORE_PRODUCT')); - SET v_id_access_level_edit := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); + SET v_code_type_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + SET v_code_type_error_no_permission := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1); + SET v_id_type_error_no_permission := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1); + SET v_code_type_error_warning := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'WARNING' LIMIT 1); + SET v_id_type_error_warning := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_warning LIMIT 1); + SET v_ids_permission_product_variation := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM demo.Shop_Permission WHERE code IN ('STORE_PRODUCT')); + SET v_id_access_level_edit := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); CALL p_validate_guid ( a_guid ); SET a_comment := TRIM(IFNULL(a_comment, '')); @@ -12842,8 +12062,8 @@ BEGIN , IFNULL(VT_T.name, '(No Name)') ) END AS name_error - FROM partsltd_prod.Shop_Variation_Type_Temp VT_T - LEFT JOIN partsltd_prod.Shop_Variation_Type VT ON VT_T.id_type = VT.id_type + FROM demo.Shop_Variation_Type_Temp VT_T + LEFT JOIN demo.Shop_Variation_Type VT ON VT_T.id_type = VT.id_type WHERE VT_T.GUID = a_guid ; @@ -12889,9 +12109,9 @@ BEGIN , IFNULL(V_T.name, '(No Name)') ) END AS name_error - FROM partsltd_prod.Shop_Variation_Temp V_T - LEFT JOIN partsltd_prod.Shop_Variation V ON V_T.id_variation = V.id_variation - -- LEFT JOIN partsltd_prod.Shop_Variation_Type VT ON V_T.id_type = VT.id_type + FROM demo.Shop_Variation_Temp V_T + LEFT JOIN demo.Shop_Variation V ON V_T.id_variation = V.id_variation + -- LEFT JOIN demo.Shop_Variation_Type VT ON V_T.id_type = VT.id_type LEFT JOIN tmp_Variation_Type t_VT ON V_T.id_type = t_VT.id_type WHERE V_T.GUID = a_guid ; @@ -12928,7 +12148,7 @@ BEGIN , ' - ' , IFNULL(VT.name, '(No Name)') ) AS name_error - FROM partsltd_prod.Shop_Variation_Type VT + FROM demo.Shop_Variation_Type VT INNER JOIN tmp_Variation t_V ON VT.id_type = t_V.id_type AND t_V.has_type = 0 @@ -12947,7 +12167,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Variation_Type t_VT - INNER JOIN partsltd_prod.Shop_Variation_Type VT ON t_VT.id_type = VT.id_type + INNER JOIN demo.Shop_Variation_Type VT ON t_VT.id_type = VT.id_type WHERE 1=1 AND t_VT.id_type > 0 AND ISNULL(VT.id_type) @@ -12966,7 +12186,7 @@ BEGIN , GROUP_CONCAT(t_VT.name_error SEPARATOR ', ') ) AS msg FROM tmp_Variation_Type t_VT - INNER JOIN partsltd_prod.Shop_Variation_Type VT ON t_VT.id_type = VT.id_type + INNER JOIN demo.Shop_Variation_Type VT ON t_VT.id_type = VT.id_type WHERE 1=1 AND t_VT.id_type > 0 AND ISNULL(VT.id_type) @@ -12977,7 +12197,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Variation t_V - INNER JOIN partsltd_prod.Shop_Variation V ON t_V.id_variation = V.id_variation + INNER JOIN demo.Shop_Variation V ON t_V.id_variation = V.id_variation WHERE 1=1 AND t_V.id_variation > 0 AND ISNULL(V.id_variation) @@ -12996,7 +12216,7 @@ BEGIN , GROUP_CONCAT(t_V.name_error SEPARATOR ', ') ) AS msg FROM tmp_Variation t_V - INNER JOIN partsltd_prod.Shop_Variation V ON t_V.id_variation = V.id_variation + INNER JOIN demo.Shop_Variation V ON t_V.id_variation = V.id_variation WHERE 1=1 AND t_V.id_variation > 0 AND ISNULL(V.id_variation) @@ -13039,7 +12259,7 @@ BEGIN , 0 -- a_debug ; SELECT * - FROM partsltd_prod.Shop_Calc_User_Temp + FROM demo.Shop_Calc_User_Temp WHERE GUID = a_guid ; END IF; @@ -13055,10 +12275,10 @@ BEGIN ); IF a_debug = 1 THEN - SELECT * from partsltd_prod.Shop_Calc_User_Temp WHERE GUID = a_guid; + SELECT * from demo.Shop_Calc_User_Temp WHERE GUID = a_guid; END IF; - IF EXISTS (SELECT * FROM partsltd_prod.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = a_guid AND IFNULL(UE_T.can_view, 0) = 0) THEN + IF EXISTS (SELECT * FROM demo.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = a_guid AND IFNULL(UE_T.can_view, 0) = 0) THEN DELETE FROM tmp_Msg_Error; INSERT INTO tmp_Msg_Error ( @@ -13073,15 +12293,15 @@ BEGIN 'You do not have edit permissions for ' , GROUP_CONCAT(name SEPARATOR ', ') ) - FROM partsltd_prod.Shop_Permission PERM - INNER JOIN partsltd_prod.Shop_Calc_User_Temp UE_T + FROM demo.Shop_Permission PERM + INNER JOIN demo.Shop_Calc_User_Temp UE_T ON PERM.id_permission = UE_T.id_permission AND UE_T.GUID = a_guid AND IFNULL(UE_T.can_view, 0) = 0 ; END IF; - CALL partsltd_prod.p_shop_clear_calc_user( + CALL demo.p_shop_clear_calc_user( a_guid , 0 -- a_debug ); @@ -13107,7 +12327,7 @@ BEGIN SET v_id_change_set := LAST_INSERT_ID(); - INSERT INTO partsltd_prod.Shop_Variation_Type ( + INSERT INTO demo.Shop_Variation_Type ( id_type_temp , code , name @@ -13131,7 +12351,7 @@ BEGIN ; UPDATE tmp_Variation_Type t_VT - INNER JOIN partsltd_prod.Shop_Variation_Type VT ON t_VT.id_type_temp = VT.id_type_temp + INNER JOIN demo.Shop_Variation_Type VT ON t_VT.id_type_temp = VT.id_type_temp SET t_VT.id_type = VT.id_type WHERE t_VT.is_new = 1 @@ -13145,7 +12365,7 @@ BEGIN t_V.id_type = t_VT.id_type ; - INSERT INTO partsltd_prod.Shop_Variation ( + INSERT INTO demo.Shop_Variation ( id_type , code , name @@ -13166,7 +12386,7 @@ BEGIN WHERE t_V.is_new = 1 ; - UPDATE partsltd_prod.Shop_Variation_Type VT + UPDATE demo.Shop_Variation_Type VT INNER JOIN tmp_Variation_Type t_VT ON VT.id_type = t_VT.id_type AND t_VT.is_new = 0 @@ -13182,7 +12402,7 @@ BEGIN , VT.id_change_set = v_id_change_set ; - UPDATE partsltd_prod.Shop_Variation V + UPDATE demo.Shop_Variation V INNER JOIN tmp_Variation t_V ON V.id_variation = t_V.id_variation AND t_V.is_new = 0 @@ -13202,11 +12422,11 @@ BEGIN START TRANSACTION; DELETE VT_T - FROM partsltd_prod.Shop_Variation_Type_Temp VT_T + FROM demo.Shop_Variation_Type_Temp VT_T WHERE VT_T.GUID = a_guid ; DELETE V_T - FROM partsltd_prod.Shop_Variation_Temp V_T + FROM demo.Shop_Variation_Temp V_T WHERE V_T.GUID = a_guid ; @@ -13215,7 +12435,7 @@ BEGIN # Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN @@ -13228,7 +12448,7 @@ BEGIN DROP TEMPORARY TABLE tmp_Msg_Error; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -13236,9 +12456,191 @@ DELIMITER ; --- File: 7219_p_shop_get_many_stock_item.sql +-- Clear previous proc +DROP PROCEDURE IF EXISTS demo.p_shop_save_product_variation_test; +DELIMITER // +CREATE PROCEDURE p_shop_save_product_variation_test () +BEGIN + + DECLARE v_guid BINARY(36); + DECLARE v_time_start TIMESTAMP(6); + + SET v_time_start := CURRENT_TIMESTAMP(6); + SET v_guid := 'nips'; + + SELECT * + FROM demo.Shop_Variation_Type + ; + SELECT * + FROM demo.Shop_Variation_Type_Temp + ; + SELECT * + FROM demo.Shop_Variation + ; + SELECT * + FROM demo.Shop_Variation_Temp + ; + + START TRANSACTION; + + DELETE FROM demo.Shop_Variation_Type_Temp; + DELETE FROM demo.Shop_Variation_Temp; + + INSERT INTO demo.Shop_Variation_Type_Temp ( + id_type + -- , id_type_temp + , code + , name + , name_plural + , display_order + , active + , GUID + ) + /* Test 1 - Insert + VALUES ( + -1 + -- , -1 + , 'SIZE' + , 'Size' + , 'Sizes' + , 2 + , 1 + , v_guid + ) + */ + /* Test 2: Alter */ + SELECT + id_type + -- , id_type AS id_type_temp + , code + , name + , name_plural + , display_order + , active + , v_guid AS GUID + FROM demo.Shop_Variation_Type + WHERE id_type = 1 + ; + + INSERT INTO demo.Shop_Variation_Temp ( + id_variation + , id_type + , code + , name + , display_order + , active + , GUID + ) + /* Test 1 - Insert + VALUES ( + -1 -- id_variation + , -1 -- id_type + , '300 mL' -- code + , '300 millilitres' -- name + , 1 -- display_order + , 1 -- active + , v_guid -- + ) + */ + /* Test 3 - Insert + VALUES ( + -1 -- id_variation + , 1 -- id_type + , 'SILVER' -- code + , 'Silver' -- name + , 10 -- display_order + , 1 -- active + , 'NIPS' -- v_guid -- + ); + */ + /* Test 2: Alter */ + SELECT + id_variation + , id_type + , code + , name + , display_order + , active + , v_guid AS GUID + FROM demo.Shop_Variation + WHERE id_variation = 2 + UNION + SELECT + -1 -- id_variation + , 1 -- id_type + , 'GREEN' -- code + , 'Green' -- name + , 3 -- display_order + , 1 -- active + , v_guid -- + ; + + COMMIT; + + SELECT * + FROM demo.Shop_Variation_Type_Temp + WHERE GUID = v_guid + ; + + SELECT * + FROM demo.Shop_Variation_Temp + WHERE GUID = v_guid + ; + + CALL demo.p_shop_save_product_variation ( + 'Test save Variations - add + edit' -- comment + , v_guid -- guid + , 1 -- id_user + , 1 -- debug + ); + + SELECT * + FROM demo.Shop_Variation_Type_Temp + ; + SELECT * + FROM demo.Shop_Variation_Temp + ; + SELECT * + FROM demo.Shop_Variation_Type + ; + SELECT * + FROM demo.Shop_Variation + ; + + CALL demo.p_debug_timing_reporting ( v_time_start ); +END // +DELIMITER ; + +/* +CALL demo.p_shop_save_product_variation_test (); + +DELETE FROM demo.Shop_Variation_Type_Temp; +DELETE FROM demo.Shop_Variation_Temp; + +DROP TABLE IF EXISTS tmp_Msg_Error; + + +delete from shop_variation_audit +where id_variation = 3 +; +delete from shop_variation_audit +where id_variation = 3 +; +delete from shop_variation_type_audit +where id_type = -1 +; +delete +-- select * + from shop_variation_type +where id_type = -1 +; + +Cannot add or update a child row: a foreign key constraint fails (`demo`.`shop_variation_type`, CONSTRAINT `FK_Shop_Variation_Type_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`)) + +*/ + -- Clear previous proc DROP PROCEDURE IF EXISTS p_shop_get_many_stock_item; @@ -13287,7 +12689,7 @@ BEGIN DECLARE v_time_start TIMESTAMP(6); SET v_guid := UUID(); - SET v_id_access_level_view := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW'); + SET v_id_access_level_view := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW'); SET v_time_start := CURRENT_TIMESTAMP(6); @@ -13413,7 +12815,7 @@ BEGIN -- select v_has_filter_product, v_has_filter_permutation; - CALL partsltd_prod.p_shop_calc_product_permutation ( + CALL demo.p_shop_calc_product_permutation ( a_id_user , 1 -- a_get_all_product_category , 0 -- a_get_inactive_product_category @@ -13437,8 +12839,8 @@ BEGIN SELECT PC.id_category , PC.display_order - FROM (SELECT * FROM partsltd_prod.Shop_Product_Category_Temp WHERE GUID = v_guid) PC_T - INNER JOIN partsltd_prod.Shop_Product_Category PC ON PC_T.id_category = PC.id_category + FROM (SELECT * FROM demo.Shop_Product_Category_Temp WHERE GUID = v_guid) PC_T + INNER JOIN demo.Shop_Product_Category PC ON PC_T.id_category = PC.id_category ; INSERT INTO tmp_Product ( @@ -13450,8 +12852,8 @@ BEGIN P.id_product , P.id_category , P.display_order - FROM (SELECT * FROM partsltd_prod.Shop_Product_Temp WHERE GUID = v_guid) P_T - INNER JOIN partsltd_prod.Shop_Product P ON P.id_product = P_T.id_product + FROM (SELECT * FROM demo.Shop_Product_Temp WHERE GUID = v_guid) P_T + INNER JOIN demo.Shop_Product P ON P.id_product = P_T.id_product ; INSERT INTO tmp_Permutation ( @@ -13467,12 +12869,12 @@ BEGIN , PP_T.can_view , PP_T.can_edit , PP_T.can_admin - FROM (SELECT * FROM partsltd_prod.Shop_Product_Permutation_Temp WHERE GUID = v_guid) PP_T - INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON PP_T.id_permutation = PP.id_permutation + FROM (SELECT * FROM demo.Shop_Product_Permutation_Temp WHERE GUID = v_guid) PP_T + INNER JOIN demo.Shop_Product_Permutation PP ON PP_T.id_permutation = PP.id_permutation ; # Stock Items - CALL partsltd_prod.p_split(v_guid, a_ids_stock_item, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_stock_item, ',', a_debug); DELETE FROM tmp_Split; @@ -13483,21 +12885,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Stock_Item SI ON t_S.as_int = SI.id_stock + LEFT JOIN demo.Shop_Stock_Item SI ON t_S.as_int = SI.id_stock WHERE ISNULL(t_S.as_int) OR ISNULL(SI.id_stock) @@ -13514,7 +12916,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive stock item IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Stock_Item SI ON t_S.as_int = SI.id_stock + LEFT JOIN demo.Shop_Stock_Item SI ON t_S.as_int = SI.id_stock WHERE ISNULL(t_S.as_int) OR ISNULL(SI.id_stock) @@ -13532,7 +12934,7 @@ BEGIN , t_PP.id_product , SI.id_location_storage FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Stock_Item SI ON t_S.as_int = SI.id_stock + RIGHT JOIN demo.Shop_Stock_Item SI ON t_S.as_int = SI.id_stock INNER JOIN tmp_Permutation t_PP ON SI.id_permutation = t_PP.id_permutation WHERE ( @@ -13582,7 +12984,7 @@ BEGIN -- Storage Regions IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN - CALL partsltd_prod.p_split(v_guid, a_ids_region_storage, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_region_storage, ',', a_debug); DELETE FROM tmp_Split; @@ -13593,21 +12995,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Region R ON t_S.as_int = R.id_region + LEFT JOIN demo.Shop_Region R ON t_S.as_int = R.id_region WHERE ISNULL(t_S.as_int) OR ISNULL(R.id_region) @@ -13624,7 +13026,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive region IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Region R ON t_S.as_int = R.id_region + LEFT JOIN demo.Shop_Region R ON t_S.as_int = R.id_region WHERE ISNULL(t_S.as_int) OR ISNULL(R.id_region) @@ -13638,7 +13040,7 @@ BEGIN R.id_region AS id_region_parent, NULL AS id_region_child FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Region R + RIGHT JOIN demo.Shop_Region R ON t_S.as_int = R.id_region AND ( a_get_all_region_storage = 1 @@ -13653,15 +13055,15 @@ BEGIN A.id_region FROM tmp_Stock_Item t_SI -- INNER JOIN tmp_Stock_Item t_SI ON SL.id_location = t_SI.id_location_storage - INNER JOIN partsltd_prod.Shop_Storage_Location SL ON t_SI.id_location_storage = SL.id_location - INNER JOIN partsltd_prod.Shop_Plant P ON SL.id_plant = P.id_plant - INNER JOIN partsltd_prod.Shop_Address A ON P.id_address = A.id_address + INNER JOIN demo.Shop_Storage_Location SL ON t_SI.id_location_storage = SL.id_location + INNER JOIN demo.Shop_Plant P ON SL.id_plant = P.id_plant + INNER JOIN demo.Shop_Address A ON P.id_address = A.id_address ) A_SI ON R.id_region = A_SI.id_region UNION SELECT RB.id_region_parent, RB.id_region_child - FROM partsltd_prod.Shop_Region_Branch RB + FROM demo.Shop_Region_Branch RB INNER JOIN Recursive_CTE_Region_Storage r_RS ON RB.id_region_parent = r_RS.id_region_child AND ( @@ -13671,7 +13073,7 @@ BEGIN ) SELECT DISTINCT R.id_region - FROM partsltd_prod.Shop_Region R + FROM demo.Shop_Region R INNER JOIN Recursive_CTE_Region_Storage r_RS ON R.id_region = r_RS.id_region_parent OR R.id_region = r_RS.id_region_child @@ -13690,14 +13092,14 @@ BEGIN DISTINCT P.id_plant , A.id_region FROM tmp_Stock_Item t_SI - INNER JOIN partsltd_prod.Shop_Storage_Location SL ON t_SI.id_location_storage = SL.id_location - INNER JOIN partsltd_prod.Shop_Plant P ON SL.id_plant = P.id_plant - INNER JOIN partsltd_prod.Shop_Address A ON P.id_address = A.id_address + INNER JOIN demo.Shop_Storage_Location SL ON t_SI.id_location_storage = SL.id_location + INNER JOIN demo.Shop_Plant P ON SL.id_plant = P.id_plant + INNER JOIN demo.Shop_Address A ON P.id_address = A.id_address ; -- Storage Locations IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN - CALL partsltd_prod.p_split(v_guid, a_ids_location_storage, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_location_storage, ',', a_debug); DELETE FROM tmp_Split; @@ -13708,21 +13110,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Region R ON t_S.as_int = R.id_region + LEFT JOIN demo.Shop_Region R ON t_S.as_int = R.id_region WHERE ISNULL(t_S.as_int) OR ISNULL(R.id_region) @@ -13739,7 +13141,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive region IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Region R ON t_S.as_int = R.id_region + LEFT JOIN demo.Shop_Region R ON t_S.as_int = R.id_region WHERE ISNULL(t_S.as_int) OR ISNULL(R.id_region) @@ -13754,7 +13156,7 @@ BEGIN SL.id_location AS id_location_parent, NULL AS id_location_child FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Storage_Location SL + RIGHT JOIN demo.Shop_Storage_Location SL ON t_S.as_int = SL.id_location AND ( a_get_all_location_storage = 1 @@ -13769,7 +13171,7 @@ BEGIN SELECT SLB.id_location_parent, SLB.id_location_child - FROM partsltd_prod.Shop_Storage_Location_Branch SLB + FROM demo.Shop_Storage_Location_Branch SLB INNER JOIN Recursive_CTE_Location_Storage r_LS ON SLB.id_location_parent = r_LS.id_location_child AND ( @@ -13780,7 +13182,7 @@ BEGIN SELECT DISTINCT SL.id_location , SL.id_plant - FROM partsltd_prod.Shop_Storage_Location SL + FROM demo.Shop_Storage_Location SL INNER JOIN Recursive_CTE_Location_Storage r_LS ON SL.id_location = r_LS.id_location_parent OR SL.id_location = r_LS.id_location_child @@ -13793,12 +13195,12 @@ BEGIN /* -- Permissions IF EXISTS (SELECT * FROM tmp_Stock_Item LIMIT 1) THEN - SET v_id_permission_product := (SELECT id_permission FROM partsltd_prod.Shop_Permission WHERE code = 'STORE_PRODUCT' LIMIT 1); + SET v_id_permission_product := (SELECT id_permission FROM demo.Shop_Permission WHERE code = 'STORE_PRODUCT' LIMIT 1); SET v_ids_product_permission := (SELECT GROUP_CONCAT(id_product SEPARATOR ',') FROM tmp_Permutation WHERE NOT ISNULL(id_product)); -- SET v_ids_permutation_permission := (SELECT GROUP_CONCAT(id_permutation SEPARATOR ',') FROM tmp_Shop_Product WHERE NOT ISNULL(id_permutation)); -- SELECT v_guid, a_id_user, false, v_id_permission_product, v_id_access_level_view, v_ids_product_permission; - -- select * FROM partsltd_prod.Shop_Calc_User_Temp; + -- select * FROM demo.Shop_Calc_User_Temp; CALL p_shop_calc_user( v_guid @@ -13810,10 +13212,10 @@ BEGIN , 0 -- a_debug ); - -- select * FROM partsltd_prod.Shop_Calc_User_Temp; + -- select * FROM demo.Shop_Calc_User_Temp; UPDATE tmp_Stock_Item t_SI - INNER JOIN partsltd_prod.Shop_Calc_User_Temp UE_T + INNER JOIN demo.Shop_Calc_User_Temp UE_T ON t_SI.id_product = UE_T.id_product AND UE_T.GUID = v_guid SET t_SI.can_view = UE_T.can_view, @@ -13824,7 +13226,7 @@ BEGIN DELETE t_SI FROM tmp_Stock_Item t_SI / * - LEFT JOIN partsltd_prod.Shop_Calc_User_Temp UE_T + LEFT JOIN demo.Shop_Calc_User_Temp UE_T ON t_SI.id_product = UE_T.id_product AND UE_T.GUID = v_guid * / @@ -13832,8 +13234,8 @@ BEGIN / * FIND_IN_SET(t_SI.id_product, ( SELECT GROUP_CONCAT(UET.id_product SEPARATOR ',') - FROM partsltd_prod.Shop_Calc_User_Temp UET) - ) = 0 # id_product NOT LIKE CONCAT('%', (SELECT GROUP_CONCAT(id_product SEPARATOR '|') FROM partsltd_prod.Shop_Calc_User_Temp), '%'); + FROM demo.Shop_Calc_User_Temp UET) + ) = 0 # id_product NOT LIKE CONCAT('%', (SELECT GROUP_CONCAT(id_product SEPARATOR '|') FROM demo.Shop_Calc_User_Temp), '%'); * / / * ISNULL(UE_T.id_product) @@ -13841,7 +13243,7 @@ BEGIN * / t_SI.id_product NOT IN ( SELECT id_product - FROM partsltd_prod.Shop_Calc_User_Temp UE_T + FROM demo.Shop_Calc_User_Temp UE_T WHERE GUID = v_guid AND IFNULL(can_view, 0) = 1 @@ -13850,14 +13252,14 @@ BEGIN # CALL p_shop_clear_calc_user(v_guid); # DROP TABLE IF EXISTS Shop_Calc_User_Temp; - DELETE FROM partsltd_prod.Shop_Calc_User_Temp + DELETE FROM demo.Shop_Calc_User_Temp WHERE GUID = v_guid ; END IF; */ /* - select * FROM partsltd_prod.Shop_stock_item; + select * FROM demo.Shop_stock_item; select * from tmp_Stock_Item; select * from tmp_Permutation; select * from tmp_Location_Storage; @@ -13904,16 +13306,16 @@ BEGIN t_PP.can_edit, t_PP.can_admin FROM tmp_Stock_Item t_SI - INNER JOIN partsltd_prod.Shop_Stock_Item SI ON t_SI.id_stock = SI.id_stock + INNER JOIN demo.Shop_Stock_Item SI ON t_SI.id_stock = SI.id_stock INNER JOIN tmp_Permutation t_PP ON t_SI.id_permutation = t_PP.id_permutation - INNER JOIN partsltd_prod.Shop_Product P ON t_PP.id_product = P.id_product + INNER JOIN demo.Shop_Product P ON t_PP.id_product = P.id_product INNER JOIN tmp_Location_Storage t_LS ON t_SI.id_location_storage = t_LS.id_location INNER JOIN tmp_Plant_Storage t_PS ON t_LS.id_plant = t_PS.id_plant - INNER JOIN partsltd_prod.Shop_Plant PLANT ON t_PS.id_plant = PLANT.id_plant - INNER JOIN partsltd_prod.Shop_Address A ON PLANT.id_address = A.id_address + INNER JOIN demo.Shop_Plant PLANT ON t_PS.id_plant = PLANT.id_plant + INNER JOIN demo.Shop_Address A ON PLANT.id_address = A.id_address INNER JOIN tmp_Region_Storage t_RS ON A.id_region = t_RS.id_region - INNER JOIN partsltd_prod.Shop_Storage_Location SL ON t_LS.id_location = SL.id_location - INNER JOIN partsltd_prod.Shop_Currency CURRENCY ON SI.id_currency_cost = CURRENCY.id_currency + INNER JOIN demo.Shop_Storage_Location SL ON t_LS.id_location = SL.id_location + INNER JOIN demo.Shop_Currency CURRENCY ON SI.id_currency_cost = CURRENCY.id_currency WHERE IFNULL(t_PP.can_view, 0) = 1 ; @@ -13928,7 +13330,7 @@ BEGIN MET.name, MET.description FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type -- WHERE guid = v_guid ; @@ -13958,10 +13360,10 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Permutation; -- DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; - CALL partsltd_prod.p_shop_clear_calc_product_permutation ( v_guid ); + CALL demo.p_shop_clear_calc_product_permutation ( v_guid ); IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -14000,8 +13402,8 @@ CALL p_shop_get_many_stock_item ( DROP TABLE IF EXISTS tmp_Msg_Error; -select * FROM partsltd_prod.Shop_Storage_Location; -select * FROM partsltd_prod.Shop_product; +select * FROM demo.Shop_Storage_Location; +select * FROM demo.Shop_product; select * from TMP_MSG_ERROR; DROP TABLE TMP_MSG_ERROR; @@ -14009,117 +13411,11 @@ 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 partsltd_prod.Shop_product_change_set order by id_change_set desc limit 1) + id_change_set = (select id_change_set FROM demo.Shop_product_change_set order by id_change_set desc limit 1) where id_product = 1 */ --- File: 7220_p_shop_save_stock_item_test.sql - - --- Clear previous proc -DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_stock_item_test; - - -DELIMITER // -CREATE PROCEDURE p_shop_save_stock_item_test () -BEGIN - - DECLARE v_guid BINARY(36); - DECLARE v_time_start TIMESTAMP(6); - - SET v_time_start := CURRENT_TIMESTAMP(6); - SET v_guid := 'nips'; - - SELECT * - FROM partsltd_prod.Shop_Stock_Item - ; - SELECT * - FROM partsltd_prod.Shop_Stock_Item_Temp - ; - - START TRANSACTION; - - INSERT INTO partsltd_prod.Shop_Stock_Item_Temp ( - id_stock - -- id_category - , id_product - , id_permutation - , id_pairs_variations - -- , has_variations - , date_purchased - , date_received - , id_location_storage - , id_currency_cost - , cost_local_VAT_excl - , cost_local_VAT_incl - , is_sealed - , date_unsealed - , date_expiration - , is_consumed - , date_consumed - , active - , guid - ) - VALUES ( - -1 -- id_stock - -- 1 -- id_category - , 4 -- id_product - , NULL -- id_permutation - , NULL -- id_pairs_variations - -- , FALSE -- 0 -- has_variations - , '2025-09-05 00:00' -- date_purchased - , NULL -- date_received - , 1 -- id_location_storage - , 1 -- id_currency_cost - , 10 -- cost_local_VAT_excl - , 12 -- cost_local_VAT_incl - , 1 -- is_sealed - , NULL -- date_unsealed - , NULL -- date_expiration - , FALSE -- 0 -- is_consumed - , NULL -- date_consumed - , 1 -- active - , v_guid - ); - - COMMIT; - - SELECT * - FROM partsltd_prod.Shop_Stock_Item_Temp - WHERE GUID = v_guid - ; - - CALL partsltd_prod.p_shop_save_Stock_Item ( - 'Test save Stock_Item' -- comment - , v_guid -- guid - , 1 -- id_user - , 0 -- debug - ); - - SELECT * - FROM partsltd_prod.Shop_Stock_Item - ; - SELECT * - FROM partsltd_prod.Shop_Stock_Item_Temp - ; - - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); -END // -DELIMITER ; - -/* -CALL partsltd_prod.p_shop_save_stock_item_test (); - -DELETE FROM partsltd_prod.Shop_Stock_Item_Temp; - -update shop_product p set p.has_variations = 0 where id_product = 4 -DROP TABLE IF EXISTS tmp_Msg_Error; -*/ - --- File: 7220_p_shop_save_stock_item.sql - - -- Clear previous proc DROP PROCEDURE IF EXISTS p_shop_save_stock_item; @@ -14183,7 +13479,7 @@ BEGIN SET v_id_type_error_bad_data := (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); SET v_id_access_level_edit := (SELECT id_access_level FROM Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); - CALL partsltd_prod.p_validate_guid ( a_guid ); + CALL demo.p_validate_guid ( a_guid ); DROP TEMPORARY TABLE IF EXISTS tmp_Stock_Item; DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; @@ -14266,9 +13562,9 @@ BEGIN , IFNULL(IFNULL(SI_T.active, SI.active), 1) AS active # , fn_shop_get_product_permutation_name(SI_T.id_permutation) , CASE WHEN IFNULL(SI_T.id_stock, 0) < 1 THEN 1 ELSE 0 END AS is_new - FROM partsltd_prod.Shop_Stock_Item_Temp SI_T - LEFT JOIN partsltd_prod.Shop_Stock_Item SI ON SI_T.id_stock = SI.id_stock - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON SI_T.id_permutation = PP.id_permutation + FROM demo.Shop_Stock_Item_Temp SI_T + LEFT JOIN demo.Shop_Stock_Item SI ON SI_T.id_stock = SI.id_stock + LEFT JOIN demo.Shop_Product_Permutation PP ON SI_T.id_permutation = PP.id_permutation -- LEFT JOIN Shop_Product P ON PP.id_product = P.id_product WHERE SI_T.guid = a_guid ; @@ -14276,7 +13572,7 @@ BEGIN -- Missing Permutation IDs for setting new permutation for stock item -- With variations UPDATE tmp_Stock_Item t_SI - INNER JOIN partsltd_prod.Shop_Product P ON t_SI.id_product = P.id_product + INNER JOIN demo.Shop_Product P ON t_SI.id_product = P.id_product SET t_SI.id_permutation = IFNULL(fn_shop_get_id_product_permutation_from_variation_csv_list ( t_SI.id_product, t_SI.id_pairs_variations ), 0) WHERE 1=1 AND t_SI.id_permutation = 0 @@ -14285,7 +13581,7 @@ BEGIN -- Without variations UPDATE tmp_Stock_Item t_SI -- INNER JOIN Shop_Product P ON t_SI.id_product = P.id_product - INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON t_SI.id_product = PP.id_product + INNER JOIN demo.Shop_Product_Permutation PP ON t_SI.id_product = PP.id_product SET t_SI.id_permutation = IFNULL(PP.id_permutation, 0) WHERE 1=1 AND t_SI.id_permutation = 0 @@ -14294,8 +13590,8 @@ BEGIN -- Add stock item error names UPDATE tmp_Stock_Item t_SI - INNER JOIN partsltd_prod.Shop_Product P ON t_SI.id_product = P.id_product - INNER JOIN partsltd_prod.Shop_Product_Category PC ON P.id_category = PC.id_category + INNER JOIN demo.Shop_Product P ON t_SI.id_product = P.id_product + INNER JOIN demo.Shop_Product_Category PC ON P.id_category = PC.id_category -- INNER JOIN Shop_Product_Permutation PP ON t_SI.id_product = PP.id_product SET t_SI.name_error = CONCAT( PC.name, @@ -14315,7 +13611,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Stock_Item t_SI - LEFT JOIN partsltd_prod.Shop_Stock_Item SI ON t_SI.id_stock = SI.id_stock + LEFT JOIN demo.Shop_Stock_Item SI ON t_SI.id_stock = SI.id_stock WHERE 1=1 AND t_SI.id_stock > 0 AND ISNULL(SI.id_stock) @@ -14340,7 +13636,7 @@ BEGIN ) ) AS msg FROM tmp_Stock_Item t_SI - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_SI.id_permutation = PP.id_permutation + LEFT JOIN demo.Shop_Product_Permutation PP ON t_SI.id_permutation = PP.id_permutation WHERE 1=1 AND t_SI.id_stock > 0 AND ISNULL(SI.id_stock) @@ -14365,7 +13661,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Stock_Item t_SI - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_SI.id_permutation = PP.id_permutation + LEFT JOIN demo.Shop_Product_Permutation PP ON t_SI.id_permutation = PP.id_permutation WHERE 1=1 AND ( t_SI.id_permutation = 0 @@ -14383,7 +13679,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('A valid permutation could not be found for the variations selected for the following stock item(s): ', GROUP_CONCAT(IFNULL(t_SI.name_error, 'NULL') SEPARATOR ', ')) AS msg FROM tmp_Stock_Item t_SI - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_SI.id_permutation = PP.id_permutation + LEFT JOIN demo.Shop_Product_Permutation PP ON t_SI.id_permutation = PP.id_permutation WHERE 1=1 AND ( t_SI.id_permutation = 0 @@ -14410,7 +13706,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Stock_Item t_SI - INNER JOIN partsltd_prod.Shop_Storage_Location SL + INNER JOIN demo.Shop_Storage_Location SL ON t_SI.id_location_storage = SL.id_location AND SL.active = 1 WHERE ISNULL(SL.id_location) @@ -14426,7 +13722,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following stock item(s) do not have a valid storage location: ', GROUP_CONCAT(IFNULL(t_SI.name_error, 'NULL') SEPARATOR ', ')) AS msg FROM tmp_Stock_Item t_SI - INNER JOIN partsltd_prod.Shop_Storage_Location SL + INNER JOIN demo.Shop_Storage_Location SL ON t_SI.id_location_storage = SL.id_location AND SL.active = 1 WHERE ISNULL(SL.id_location) @@ -14436,7 +13732,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Stock_Item t_SI - INNER JOIN partsltd_prod.Shop_Currency C + INNER JOIN demo.Shop_Currency C ON t_SI.id_currency_cost = C.id_currency AND C.active = 1 WHERE ISNULL(C.id_currency) @@ -14452,7 +13748,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following stock item(s) do not have a valid cost currency: ', GROUP_CONCAT(IFNULL(t_SI.name_error, 'NULL') SEPARATOR ', ')) AS msg FROM tmp_Stock_Item t_SI - INNER JOIN partsltd_prod.Shop_Currency C + INNER JOIN demo.Shop_Currency C ON t_SI.id_currency_cost = C.id_currency AND C.active = 1 WHERE ISNULL(C.id_currency) @@ -14649,8 +13945,8 @@ BEGIN SET v_id_change_set := LAST_INSERT_ID(); - -- select * from partsltd_prod.Shop_Stock_Item - UPDATE partsltd_prod.Shop_Stock_Item SI + -- select * from demo.Shop_Stock_Item + UPDATE demo.Shop_Stock_Item SI INNER JOIN tmp_Stock_Item t_SI ON SI.id_stock = t_SI.id_stock SET @@ -14671,7 +13967,7 @@ BEGIN ; END IF; - INSERT INTO partsltd_prod.Shop_Stock_Item ( + INSERT INTO demo.Shop_Stock_Item ( id_permutation , date_purchased , date_received @@ -14715,7 +14011,7 @@ BEGIN START TRANSACTION; - DELETE FROM partsltd_prod.Shop_Stock_Item_Temp + DELETE FROM demo.Shop_Stock_Item_Temp WHERE GUID = a_guid; COMMIT; @@ -14723,7 +14019,7 @@ BEGIN # Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN @@ -14734,7 +14030,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -14822,8 +14118,105 @@ WHERE id_permutation = 1; --- File: 7221_p_get_many_shop_product_price_and_discount_and_delivery_option.sql --- USE partsltd_prod; +-- Clear previous proc +DROP PROCEDURE IF EXISTS demo.p_shop_save_stock_item_test; + + +DELIMITER // +CREATE PROCEDURE p_shop_save_stock_item_test () +BEGIN + + DECLARE v_guid BINARY(36); + DECLARE v_time_start TIMESTAMP(6); + + SET v_time_start := CURRENT_TIMESTAMP(6); + SET v_guid := 'nips'; + + SELECT * + FROM demo.Shop_Stock_Item + ; + SELECT * + FROM demo.Shop_Stock_Item_Temp + ; + + START TRANSACTION; + + INSERT INTO demo.Shop_Stock_Item_Temp ( + id_stock + -- id_category + , id_product + , id_permutation + , id_pairs_variations + -- , has_variations + , date_purchased + , date_received + , id_location_storage + , id_currency_cost + , cost_local_VAT_excl + , cost_local_VAT_incl + , is_sealed + , date_unsealed + , date_expiration + , is_consumed + , date_consumed + , active + , guid + ) + VALUES ( + -1 -- id_stock + -- 1 -- id_category + , 4 -- id_product + , NULL -- id_permutation + , NULL -- id_pairs_variations + -- , FALSE -- 0 -- has_variations + , '2025-09-05 00:00' -- date_purchased + , NULL -- date_received + , 1 -- id_location_storage + , 1 -- id_currency_cost + , 10 -- cost_local_VAT_excl + , 12 -- cost_local_VAT_incl + , 1 -- is_sealed + , NULL -- date_unsealed + , NULL -- date_expiration + , FALSE -- 0 -- is_consumed + , NULL -- date_consumed + , 1 -- active + , v_guid + ); + + COMMIT; + + SELECT * + FROM demo.Shop_Stock_Item_Temp + WHERE GUID = v_guid + ; + + CALL demo.p_shop_save_Stock_Item ( + 'Test save Stock_Item' -- comment + , v_guid -- guid + , 1 -- id_user + , 0 -- debug + ); + + SELECT * + FROM demo.Shop_Stock_Item + ; + SELECT * + FROM demo.Shop_Stock_Item_Temp + ; + + CALL demo.p_debug_timing_reporting ( v_time_start ); +END // +DELIMITER ; + +/* +CALL demo.p_shop_save_stock_item_test (); + +DELETE FROM demo.Shop_Stock_Item_Temp; + +update shop_product p set p.has_variations = 0 where id_product = 4 +DROP TABLE IF EXISTS tmp_Msg_Error; +*/-- USE demo; -- Clear previous proc DROP PROCEDURE IF EXISTS p_shop_get_many_product_price_and_discount_and_delivery_option; @@ -15013,7 +14406,7 @@ BEGIN ; END IF; - CALL partsltd_prod.p_shop_calc_product_permutation ( + CALL demo.p_shop_calc_product_permutation ( a_id_user , 1 -- a_get_all_product_category , 0 -- a_get_inactive_product_category @@ -15037,8 +14430,8 @@ BEGIN SELECT PC.id_category , PC.display_order - FROM (SELECT * FROM partsltd_prod.Shop_Product_Category_Temp WHERE GUID = v_guid) PC_T - INNER JOIN partsltd_prod.Shop_Product_Category PC ON PC_T.id_category = PC.id_category + FROM (SELECT * FROM demo.Shop_Product_Category_Temp WHERE GUID = v_guid) PC_T + INNER JOIN demo.Shop_Product_Category PC ON PC_T.id_category = PC.id_category ; INSERT INTO tmp_Product ( @@ -15050,8 +14443,8 @@ BEGIN P.id_product , P.id_category , P.display_order - FROM (SELECT * FROM partsltd_prod.Shop_Product_Temp WHERE GUID = v_guid) P_T - INNER JOIN partsltd_prod.Shop_Product P ON P.id_product = P_T.id_product + FROM (SELECT * FROM demo.Shop_Product_Temp WHERE GUID = v_guid) P_T + INNER JOIN demo.Shop_Product P ON P.id_product = P_T.id_product ; INSERT INTO tmp_Permutation ( @@ -15067,12 +14460,12 @@ BEGIN , PP_T.can_view , PP_T.can_edit , PP_T.can_admin - FROM (SELECT * FROM partsltd_prod.Shop_Product_Permutation_Temp WHERE GUID = v_guid) PP_T - INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON PP_T.id_permutation = PP.id_permutation + FROM (SELECT * FROM demo.Shop_Product_Permutation_Temp WHERE GUID = v_guid) PP_T + INNER JOIN demo.Shop_Product_Permutation PP ON PP_T.id_permutation = PP.id_permutation ; # Product Prices - CALL partsltd_prod.p_split(v_guid, a_ids_product_price, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_product_price, ',', a_debug); DELETE FROM tmp_Split; @@ -15083,21 +14476,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Price PRICE ON t_S.as_int = PRICE.id_price + LEFT JOIN demo.Shop_Product_Price PRICE ON t_S.as_int = PRICE.id_price WHERE ISNULL(t_S.as_int) OR ISNULL(PRICE.id_price) @@ -15114,7 +14507,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive product price IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Price PRICE ON t_S.as_int = PRICE.id_price + LEFT JOIN demo.Shop_Product_Price PRICE ON t_S.as_int = PRICE.id_price WHERE ISNULL(t_S.as_int) OR ISNULL(PRICE.id_price) @@ -15128,7 +14521,7 @@ BEGIN PRICE.id_price , PRICE.id_permutation FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Product_Price PRICE ON t_S.as_int = PRICE.id_price + RIGHT JOIN demo.Shop_Product_Price PRICE ON t_S.as_int = PRICE.id_price INNER JOIN tmp_Permutation t_PP ON SI.id_permutation = t_PP.id_permutation WHERE ( @@ -15773,10 +15166,10 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Product; - CALL partsltd_prod.p_shop_clear_calc_product_permutation ( v_guid ); + CALL demo.p_shop_clear_calc_product_permutation ( v_guid ); IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -15784,7 +15177,7 @@ DELIMITER ; /* -CALL partsltd_prod.p_shop_get_many_product_price_and_discount_and_delivery_option ( +CALL demo.p_shop_get_many_product_price_and_discount_and_delivery_option ( IN a_id_user INT, IN a_get_all_product_permutation BIT, IN a_get_inactive_product_permutation BIT, @@ -15831,9 +15224,6 @@ FROM Shop_Calc_User_Temp; */ --- File: 7223_p_shop_get_many_stripe_price_new.sql - - /* @@ -16076,9 +15466,6 @@ CALL p_shop_get_many_stripe_price_new ( */ - --- File: 7312_p_shop_save_user.sql - DROP PROCEDURE IF EXISTS p_shop_save_user; @@ -16125,7 +15512,7 @@ BEGIN MET.id_type , @errno , @text - FROM partsltd_prod.Shop_Msg_Error_Type MET + FROM demo.Shop_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; SELECT * @@ -16192,7 +15579,7 @@ BEGIN , IFNULL(U_T.is_included_VAT_default, U.is_included_VAT_default) AS is_included_VAT_default , IFNULL(IFNULL(U_T.active, U.active), 1) AS active , IFNULL(U_T.display_order, PC.display_order) AS display_order - FROM partsltd_prod.Shop_User_Temp U_T + FROM demo.Shop_User_Temp U_T LEFT JOIN Shop_User U ON U_T.id_user = U.id_user WHERE U_T.guid = a_guid ; @@ -16274,7 +15661,7 @@ BEGIN SET v_can_admin_user := ( SELECT IFNULL(UE_T.can_edit, 0) = 1 - FROM partsltd_prod.Shop_User_Eval_Temp UE_T + FROM demo.Shop_User_Eval_Temp UE_T WHERE UE_T.GUID = a_guid AND UE_T.id_user = a_id_user @@ -16341,7 +15728,7 @@ BEGIN # Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN @@ -16352,16 +15739,13 @@ BEGIN DROP TABLE IF EXISTS tmp_User; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; --- File: 7313_p_get_many_user.sql - - -- Clear previous proc DROP PROCEDURE IF EXISTS p_get_many_user; @@ -16395,13 +15779,13 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_guid := UUID(); - SET v_id_access_level_admin := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'ADMIN' LIMIT 1); - SET v_id_access_level_view := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1); - SET v_id_permission_store_admin := (SELECT id_permission FROM partsltd_prod.Shop_Permission WHERE code = 'STORE_ADMIN' LIMIT 1); - SET v_id_permission_user := (SELECT id_permission FROM partsltd_prod.Shop_Permission WHERE code = 'STORE_USER' LIMIT 1); - SET v_id_permission_user_admin := (SELECT id_permission FROM partsltd_prod.Shop_Permission WHERE code = 'STORE_USER_ADMIN' LIMIT 1); - SET v_code_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); - SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_error_bad_data LIMIT 1); + SET v_id_access_level_admin := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'ADMIN' LIMIT 1); + SET v_id_access_level_view := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1); + SET v_id_permission_store_admin := (SELECT id_permission FROM demo.Shop_Permission WHERE code = 'STORE_ADMIN' LIMIT 1); + SET v_id_permission_user := (SELECT id_permission FROM demo.Shop_Permission WHERE code = 'STORE_USER' LIMIT 1); + SET v_id_permission_user_admin := (SELECT id_permission FROM demo.Shop_Permission WHERE code = 'STORE_USER_ADMIN' LIMIT 1); + SET v_code_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_error_bad_data LIMIT 1); SET v_ids_permission_required := CONCAT(v_id_permission_user, ',', v_id_permission_user_admin, ',', v_id_permission_store_admin); SET v_is_new := FALSE; @@ -16449,12 +15833,12 @@ BEGIN ); IF ISNULL(a_id_user) AND NOT ISNULL(a_id_user_auth0) THEN - SET a_id_user := (SELECT U.id_user FROM partsltd_prod.Shop_User U WHERE U.id_user_auth0 = a_id_user_auth0 LIMIT 1); -- LIKE CONCAT('%', a_id_user_auth0, '%') LIMIT 1); + SET a_id_user := (SELECT U.id_user FROM demo.Shop_User U WHERE U.id_user_auth0 = a_id_user_auth0 LIMIT 1); -- LIKE CONCAT('%', a_id_user_auth0, '%') LIMIT 1); END IF; IF ISNULL(a_id_user) THEN IF NOT ISNULL(a_id_user_auth0) THEN - INSERT INTO partsltd_prod.Shop_User ( + INSERT INTO demo.Shop_User ( id_user_auth0 , is_super_user , active @@ -16465,7 +15849,7 @@ BEGIN , 1 -- active ) ; - SET a_id_user := (SELECT U.id_user FROM partsltd_prod.Shop_User U WHERE U.id_user_auth0 = a_id_user_auth0 LIMIT 1); + SET a_id_user := (SELECT U.id_user FROM demo.Shop_User U WHERE U.id_user_auth0 = a_id_user_auth0 LIMIT 1); SET v_is_new := TRUE; ELSE INSERT INTO tmp_Msg_Error ( @@ -16494,7 +15878,7 @@ BEGIN -- User IDs IF (NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) AND v_has_filter_user = 1) THEN - CALL partsltd_prod.p_split(v_guid, a_ids_user, ',', FALSE); + CALL demo.p_split(v_guid, a_ids_user, ',', FALSE); DELETE FROM tmp_Split; @@ -16505,21 +15889,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF (NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) AND v_has_filter_user = 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_User U ON t_S.as_int = U.id_user + LEFT JOIN demo.Shop_User U ON t_S.as_int = U.id_user WHERE ISNULL(t_S.as_int) OR ISNULL(U.id_user) @@ -16536,7 +15920,7 @@ BEGIN v_code_error_bad_data, CONCAT('Invalid or inactive User IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_User U ON t_S.as_int = U.id_user + LEFT JOIN demo.Shop_User U ON t_S.as_int = U.id_user WHERE ISNULL(t_S.as_int) OR ISNULL(U.id_user) @@ -16550,7 +15934,7 @@ BEGIN U.id_user , RANK() OVER (ORDER BY U.id_user DESC) AS rank_user FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_User U ON t_S.as_int = U.id_user + RIGHT JOIN demo.Shop_User U ON t_S.as_int = U.id_user WHERE ( a_get_all_user = 1 @@ -16569,7 +15953,7 @@ BEGIN -- Auth0 User IDs IF (NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) AND v_has_filter_user_auth0 = 1) THEN - CALL partsltd_prod.p_split(v_guid, a_ids_user_auth0, ',', FALSE); + CALL demo.p_split(v_guid, a_ids_user_auth0, ',', FALSE); DELETE FROM tmp_Split; @@ -16578,21 +15962,21 @@ BEGIN ) SELECT substring - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF (NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) AND v_has_filter_user_auth0 = 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_User U ON t_S.substring = U.id_user_auth0 + LEFT JOIN demo.Shop_User U ON t_S.substring = U.id_user_auth0 WHERE ISNULL(t_S.substring) OR ISNULL(U.id_user_auth0) @@ -16609,7 +15993,7 @@ BEGIN v_code_error_bad_data, CONCAT('Invalid or inactive Auth0 User IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_User U ON t_S.substring = U.id_user_auth0 + LEFT JOIN demo.Shop_User U ON t_S.substring = U.id_user_auth0 WHERE ISNULL(t_S.substring) OR ISNULL(U.id_user_auth0) @@ -16625,7 +16009,7 @@ BEGIN U.id_user , v_rank_max + (RANK() OVER (ORDER BY U.id_user DESC)) AS rank_user FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_User U ON t_S.substring = U.id_user_auth0 + RIGHT JOIN demo.Shop_User U ON t_S.substring = U.id_user_auth0 WHERE ( a_get_all_user = 1 @@ -16673,10 +16057,10 @@ BEGIN , '' -- ids_product , 0 -- a_debug ; - SELECT * FROM partsltd_prod.Shop_Calc_User_Temp; + SELECT * FROM demo.Shop_Calc_User_Temp; END IF; - CALL partsltd_prod.p_shop_calc_user( + CALL demo.p_shop_calc_user( v_guid -- guid , a_id_user -- ids_user , FALSE -- get_inactive_user @@ -16687,17 +16071,17 @@ BEGIN ); IF a_debug = 1 THEN - SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = v_guid; + SELECT * FROM demo.Shop_Calc_User_Temp WHERE GUID = v_guid; END IF; UPDATE tmp_User t_U - INNER JOIN partsltd_prod.Shop_Calc_User_Temp CUT + INNER JOIN demo.Shop_Calc_User_Temp CUT ON CUT.GUID = v_guid AND t_U.id_user = CUT.id_user SET t_U.can_admin_store = CUT.can_admin ; - CALL partsltd_prod.p_shop_clear_calc_user( v_guid, FALSE ); + CALL demo.p_shop_clear_calc_user( v_guid, FALSE ); END IF; -- Can admin user @@ -16712,10 +16096,10 @@ BEGIN , '' -- ids_product , 0 -- a_debug ; - SELECT * FROM partsltd_prod.Shop_Calc_User_Temp; + SELECT * FROM demo.Shop_Calc_User_Temp; END IF; - CALL partsltd_prod.p_shop_calc_user( + CALL demo.p_shop_calc_user( v_guid -- guid , a_id_user -- ids_user , FALSE -- get_inactive_user @@ -16726,17 +16110,17 @@ BEGIN ); IF a_debug = 1 THEN - SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = v_guid; + SELECT * FROM demo.Shop_Calc_User_Temp WHERE GUID = v_guid; END IF; UPDATE tmp_User t_U - INNER JOIN partsltd_prod.Shop_Calc_User_Temp CUT + INNER JOIN demo.Shop_Calc_User_Temp CUT ON CUT.GUID = v_guid AND t_U.id_user = CUT.id_user SET t_U.can_admin_user = CUT.can_admin ; - CALL partsltd_prod.p_shop_clear_calc_user( v_guid, FALSE ); + CALL demo.p_shop_clear_calc_user( v_guid, FALSE ); END IF; -- Permissions @@ -16751,10 +16135,10 @@ BEGIN , '' -- ids_product , 0 -- a_debug ; - SELECT * FROM partsltd_prod.Shop_Calc_User_Temp; + SELECT * FROM demo.Shop_Calc_User_Temp; END IF; - CALL partsltd_prod.p_shop_calc_user( + CALL demo.p_shop_calc_user( v_guid -- guid , a_id_user -- ids_user , FALSE -- get_inactive_user @@ -16765,12 +16149,12 @@ BEGIN ); IF a_debug = 1 THEN - SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = v_guid; + SELECT * FROM demo.Shop_Calc_User_Temp WHERE GUID = v_guid; END IF; IF NOT EXISTS ( SELECT can_view - FROM partsltd_prod.Shop_Calc_User_Temp CUT + FROM demo.Shop_Calc_User_Temp CUT WHERE 1=1 AND CUT.GUID = v_guid AND can_view = 1 @@ -16784,9 +16168,9 @@ BEGIN VALUES ( v_id_type_error_bad_data, v_code_error_bad_data, - -- CONCAT('You do not have view permissions for ', (SELECT name FROM partsltd_prod.Shop_Permission WHERE id_permission = v_id_permission_user LIMIT 1)) - -- CONCAT('You do not have view permissions for ', (SELECT GROUP_CONCAT(name SEPARATOR ', ') FROM partsltd_prod.Shop_Permission WHERE FIND_IN_SET(v_id_permission_user, id_permission) > 0)) - CONCAT('You do not have view permissions for ', (SELECT name FROM partsltd_prod.Shop_Permission P INNER JOIN partsltd_prod.Shop_Calc_User_Temp CUT ON P.id_permission = CUT.id_permission_required WHERE GUID = v_guid AND IFNULL(can_view, 0) = 0 LIMIT 1)) -- WHERE IFNULL(CUT.can_view, 0) = 0 + -- CONCAT('You do not have view permissions for ', (SELECT name FROM demo.Shop_Permission WHERE id_permission = v_id_permission_user LIMIT 1)) + -- CONCAT('You do not have view permissions for ', (SELECT GROUP_CONCAT(name SEPARATOR ', ') FROM demo.Shop_Permission WHERE FIND_IN_SET(v_id_permission_user, id_permission) > 0)) + CONCAT('You do not have view permissions for ', (SELECT name FROM demo.Shop_Permission P INNER JOIN demo.Shop_Calc_User_Temp CUT ON P.id_permission = CUT.id_permission_required WHERE GUID = v_guid AND IFNULL(can_view, 0) = 0 LIMIT 1)) -- WHERE IFNULL(CUT.can_view, 0) = 0 ) ; ELSE @@ -16794,7 +16178,7 @@ BEGIN SET a_debug := a_debug; END IF; - CALL partsltd_prod.p_shop_clear_calc_user( v_guid, FALSE ); + CALL demo.p_shop_clear_calc_user( v_guid, FALSE ); END IF; @@ -16822,7 +16206,7 @@ BEGIN , t_U.can_admin_user , v_is_new AS is_new FROM tmp_User t_U - INNER JOIN partsltd_prod.Shop_User U ON t_U.id_user = U.id_user + INNER JOIN demo.Shop_User U ON t_U.id_user = U.id_user ; # Errors @@ -16833,7 +16217,7 @@ BEGIN MET.name, MET.description FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; @@ -16847,12 +16231,12 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; /* - DELETE FROM partsltd_prod.Shop_Calc_User_Temp + DELETE FROM demo.Shop_Calc_User_Temp WHERE GUID = v_guid; */ IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -16881,11 +16265,11 @@ CALL p_get_many_user ( );*/ /* -select * FROM partsltd_prod.Shop_Calc_User_Temp; -delete FROM partsltd_prod.Shop_Calc_User_Temp; +select * FROM demo.Shop_Calc_User_Temp; +delete FROM demo.Shop_Calc_User_Temp; SELECT * -FROM partsltd_prod.Shop_USER; +FROM demo.Shop_USER; CALL p_get_many_user( NULL -- :a_id_user, @@ -16900,9 +16284,6 @@ CALL p_get_many_user( */ --- File: 7321_p_shop_save_user_basket.sql - - /* @@ -17733,178 +17114,6 @@ CALL p_shop_edit_user_basket ( */ --- File: 7400_p_shop_save_supplier_temp.sql - - --- Clear previous proc -DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_supplier_test; - - -DELIMITER // -CREATE PROCEDURE p_shop_save_supplier_test () -BEGIN - - DECLARE v_guid BINARY(36); - DECLARE v_time_start TIMESTAMP(6); - - SET v_time_start := CURRENT_TIMESTAMP(6); - SET v_guid := 'nips'; - - SELECT * - FROM partsltd_prod.Shop_Supplier - ; - SELECT * - FROM partsltd_prod.Shop_Supplier_Temp - ; - SELECT * - FROM partsltd_prod.Shop_Supplier_Address - ; - SELECT * - FROM partsltd_prod.Shop_Supplier_Address_Temp - ; - - START TRANSACTION; - - INSERT INTO partsltd_prod.Shop_Supplier_Temp ( - id_supplier - , id_currency - , name_company - , name_contact - , department_contact - , phone_number - , fax - , email - , website - , active - , guid - ) - /* Test 1 - Insert - VALUES ( - -3 - , 1 - , 'Asda' - , '' - , NULL - , '' - , '123' - , 'test mail' - , 'test url' - , 1 -- active - , v_guid - ) - */ - /* Test 2 - Update */ - SELECT - id_supplier - , id_currency - , name_company - , 'Nat' AS name_contact - , 'Butchery' AS department_contact - , phone_number - , fax - , email - , website - , active - , v_guid - FROM partsltd_prod.Shop_Supplier S - WHERE S.id_supplier = 2 - ; - - /* - INSERT INTO partsltd_prod.Shop_Supplier_Address_Temp ( - id_address - , id_supplier - , id_region - , postcode - , address_line_1 - , address_line_2 - , city - , county - , active - , GUID - ) - / Test 1 - Insert - VALUES ( - -4 - , -3 - , 1 - , 'test postcode' - , 'test' - , 'test' - , 'test' - , 'cunty' - , 1 - , v_guid - ) - / - / Test 2 - Update / - SELECT - id_address - , id_supplier - , id_region - , postcode - , address_line_1 - , address_line_2 - , city - , county - , active - , v_guid - FROM partsltd_prod.Shop_Supplier_Address SA - WHERE SA.id_supplier = 2 - ; - */ - - COMMIT; - - SELECT * - FROM partsltd_prod.Shop_Supplier_Temp - WHERE GUID = v_guid - ; - - SELECT * - FROM partsltd_prod.Shop_Supplier_Address_Temp - WHERE GUID = v_guid - ; - - CALL partsltd_prod.p_shop_save_supplier ( - 'Test save Supplier' -- comment - , v_guid -- guid - , 1 -- id_user - , 1 -- debug - ); - - SELECT * - FROM partsltd_prod.Shop_Supplier_Temp - ; - SELECT * - FROM partsltd_prod.Shop_Supplier_Address_Temp - ; - SELECT * - FROM partsltd_prod.Shop_Supplier - ; - SELECT * - FROM partsltd_prod.Shop_Supplier_Address - ; - - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); -END // -DELIMITER ; - -/* -CALL partsltd_prod.p_shop_save_supplier_test (); - -DELETE FROM partsltd_prod.Shop_Supplier_Temp; -DELETE FROM partsltd_prod.Shop_Supplier_Address_Temp; - -DROP TABLE IF EXISTS tmp_Msg_Error; - -Cannot add or update a child row: a foreign key constraint fails (`partsltd_prod`.`shop_supplier`, CONSTRAINT `FK_Shop_Supplier_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_sales_and_purchasing_change_set` (`id_change_set`)) - -*/ - --- File: 7400_p_shop_save_supplier.sql - - -- Clear previous proc @@ -17953,7 +17162,7 @@ BEGIN id_type , @errno , @text - FROM partsltd_prod.Shop_Msg_Error_Type MET + FROM demo.Shop_Msg_Error_Type MET WHERE code = 'MYSQL_ERROR' ; SELECT * @@ -17962,12 +17171,12 @@ BEGIN END; SET v_time_start := CURRENT_TIMESTAMP(6); - SET v_code_type_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); - SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); - SET v_code_type_error_no_permission := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1); - SET v_id_type_error_no_permission := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_supplier := (SELECT id_permission FROM partsltd_prod.Shop_Permission WHERE code = 'STORE_SUPPLIER' LIMIT 1); - SET v_id_access_level_EDIT := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); + SET v_code_type_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + SET v_code_type_error_no_permission := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1); + SET v_id_type_error_no_permission := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_supplier := (SELECT id_permission FROM demo.Shop_Permission WHERE code = 'STORE_SUPPLIER' LIMIT 1); + SET v_id_access_level_EDIT := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); CALL p_validate_guid ( a_guid ); SET a_comment := TRIM(IFNULL(a_comment, '')); @@ -18043,7 +17252,7 @@ BEGIN , S_T.active , IFNULL(S_T.name_company, IFNULL(S_T.email, IFNULL(S_T.website, IFNULL(S_T.name_contact, '(No Supplier)')))) , IFNULL(S_T.id_supplier, 0) < 1 - FROM partsltd_prod.Shop_Supplier_Temp S_T + FROM demo.Shop_Supplier_Temp S_T WHERE GUID = a_guid ; @@ -18072,7 +17281,7 @@ BEGIN , SA_T.active , IFNULL(SA_T.postcode, IFNULL(SA_T.city, IFNULL(SA_T.county, IFNULL(SA_T.address_line_1, IFNULL(SA_T.address_line_2, '(No Supplier)'))))) AS name_error , IFNULL(SA_T.id_address, 0) < 1 AS is_new - FROM partsltd_prod.Shop_Supplier_Address_Temp SA_T + FROM demo.Shop_Supplier_Address_Temp SA_T WHERE GUID = a_guid ; @@ -18083,7 +17292,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Supplier t_S - LEFT JOIN partsltd_prod.Shop_Address A ON t_S.id_address = A.id_address + LEFT JOIN demo.Shop_Address A ON t_S.id_address = A.id_address WHERE 1=1 AND ( t_S.id_address = 0 @@ -18104,7 +17313,7 @@ BEGIN , GROUP_CONCAT(t_S.name_error SEPARATOR ', ') ) AS msg FROM tmp_Supplier t_S - LEFT JOIN partsltd_prod.Shop_Address A ON t_S.id_address = A.id_address + LEFT JOIN demo.Shop_Address A ON t_S.id_address = A.id_address WHERE 1=1 AND ( t_S.id_address = 0 @@ -18117,7 +17326,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Supplier t_S - LEFT JOIN partsltd_prod.Shop_Currency C ON t_S.id_currency = C.id_currency + LEFT JOIN demo.Shop_Currency C ON t_S.id_currency = C.id_currency WHERE 1=1 AND ( t_S.id_currency = 0 @@ -18138,7 +17347,7 @@ BEGIN , GROUP_CONCAT(t_S.name_error SEPARATOR ', ') ) AS msg FROM tmp_Supplier t_S - LEFT JOIN partsltd_prod.Shop_Currency C ON t_S.id_currency = C.id_currency + LEFT JOIN demo.Shop_Currency C ON t_S.id_currency = C.id_currency WHERE 1=1 AND ( t_S.id_currency = 0 @@ -18198,7 +17407,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Supplier_Address t_SA - LEFT JOIN partsltd_prod.Shop_Supplier S ON t_SA.id_supplier = S.id_supplier + LEFT JOIN demo.Shop_Supplier S ON t_SA.id_supplier = S.id_supplier WHERE 1=1 AND ( t_SA.id_supplier = 0 @@ -18219,7 +17428,7 @@ BEGIN , GROUP_CONCAT(t_S.name_error SEPARATOR ', ') ) AS msg FROM tmp_Supplier t_S - LEFT JOIN partsltd_prod.Shop_Supplier S ON t_SA.id_supplier = S.id_supplier + LEFT JOIN demo.Shop_Supplier S ON t_SA.id_supplier = S.id_supplier WHERE 1=1 AND ( t_SA.id_supplier = 0 @@ -18231,7 +17440,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Supplier_Address t_SA - LEFT JOIN partsltd_prod.Shop_Region R ON t_SA.id_region = R.id_region + LEFT JOIN demo.Shop_Region R ON t_SA.id_region = R.id_region WHERE 1=1 AND ( t_SA.id_region = 0 @@ -18252,7 +17461,7 @@ BEGIN , GROUP_CONCAT(t_S.name_error SEPARATOR ', ') ) AS msg FROM tmp_Supplier t_S - LEFT JOIN partsltd_prod.Shop_Region R ON t_SA.id_region = R.id_region + LEFT JOIN demo.Shop_Region R ON t_SA.id_region = R.id_region WHERE 1=1 AND ( t_SA.id_region = 0 @@ -18288,7 +17497,7 @@ BEGIN , '' -- ids_product , 0 -- a_debug ; - SELECT * from partsltd_prod.Shop_Calc_User_Temp; + SELECT * from demo.Shop_Calc_User_Temp; END IF; CALL p_shop_calc_user( @@ -18302,10 +17511,10 @@ BEGIN ); IF a_debug = 1 THEN - SELECT * from partsltd_prod.Shop_Calc_User_Temp WHERE GUID = a_guid; + SELECT * from demo.Shop_Calc_User_Temp WHERE GUID = a_guid; END IF; - IF NOT EXISTS (SELECT can_view FROM partsltd_prod.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = a_guid) THEN + IF NOT EXISTS (SELECT can_view FROM demo.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = a_guid) THEN DELETE FROM tmp_Msg_Error; INSERT INTO tmp_Msg_Error ( @@ -18316,12 +17525,12 @@ BEGIN VALUES ( v_id_type_error_no_permission , v_code_type_error_no_permission - , CONCAT('You do not have view permissions for ', (SELECT name FROM partsltd_prod.Shop_Permission WHERE id_permission = v_id_permission_supplier LIMIT 1)) + , CONCAT('You do not have view permissions for ', (SELECT name FROM demo.Shop_Permission WHERE id_permission = v_id_permission_supplier LIMIT 1)) ) ; END IF; - CALL partsltd_prod.p_shop_clear_calc_user( + CALL demo.p_shop_clear_calc_user( a_guid , 0 -- a_debug ); @@ -18334,7 +17543,7 @@ BEGIN -- Transaction IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN START TRANSACTION; - INSERT INTO partsltd_prod.Shop_User_Change_Set ( + INSERT INTO demo.Shop_User_Change_Set ( comment , updated_last_by , updated_last_on @@ -18347,7 +17556,7 @@ BEGIN SET v_id_change_set := LAST_INSERT_ID(); - INSERT INTO partsltd_prod.Shop_Supplier ( + INSERT INTO demo.Shop_Supplier ( id_supplier_temp , id_currency , name_company @@ -18377,7 +17586,7 @@ BEGIN ; UPDATE tmp_Supplier t_S - INNER JOIN partsltd_prod.Shop_Supplier S ON t_S.id_supplier_temp = S.id_supplier_temp + INNER JOIN demo.Shop_Supplier S ON t_S.id_supplier_temp = S.id_supplier_temp SET t_S.id_supplier = S.id_supplier WHERE t_S.is_new = 1 @@ -18390,7 +17599,7 @@ BEGIN WHERE t_S.is_new = 1 ; - UPDATE partsltd_prod.Shop_Supplier S + UPDATE demo.Shop_Supplier S INNER JOIN tmp_Supplier t_S ON S.id_supplier = t_S.id_supplier AND t_S.is_new = 0 @@ -18420,7 +17629,7 @@ BEGIN */ ; - INSERT INTO partsltd_prod.Shop_Supplier_Address ( + INSERT INTO demo.Shop_Supplier_Address ( id_supplier , id_region , postcode @@ -18445,7 +17654,7 @@ BEGIN WHERE t_SA.is_new = 1 ; - UPDATE partsltd_prod.Shop_Supplier_Address SA + UPDATE demo.Shop_Supplier_Address SA INNER JOIN tmp_Supplier_Address t_SA ON SA.id_address = t_SA.id_address AND t_SA.is_new = 0 @@ -18464,16 +17673,16 @@ BEGIN END IF; START TRANSACTION; - DELETE FROM partsltd_prod.Shop_Supplier_Temp + DELETE FROM demo.Shop_Supplier_Temp WHERE GUID = a_guid; - DELETE FROM partsltd_prod.Shop_Supplier_Address_Temp + DELETE FROM demo.Shop_Supplier_Address_Temp WHERE GUID = a_guid; COMMIT; # Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN @@ -18487,7 +17696,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -18501,9 +17710,172 @@ delete from shop_supplier_address_audit where id_address = -4; delete from shop_supplier_address where id_address = -4; */ --- File: 7401_p_shop_get_many_supplier.sql +-- Clear previous proc +DROP PROCEDURE IF EXISTS demo.p_shop_save_supplier_test; +DELIMITER // +CREATE PROCEDURE p_shop_save_supplier_test () +BEGIN + + DECLARE v_guid BINARY(36); + DECLARE v_time_start TIMESTAMP(6); + + SET v_time_start := CURRENT_TIMESTAMP(6); + SET v_guid := 'nips'; + + SELECT * + FROM demo.Shop_Supplier + ; + SELECT * + FROM demo.Shop_Supplier_Temp + ; + SELECT * + FROM demo.Shop_Supplier_Address + ; + SELECT * + FROM demo.Shop_Supplier_Address_Temp + ; + + START TRANSACTION; + + INSERT INTO demo.Shop_Supplier_Temp ( + id_supplier + , id_currency + , name_company + , name_contact + , department_contact + , phone_number + , fax + , email + , website + , active + , guid + ) + /* Test 1 - Insert + VALUES ( + -3 + , 1 + , 'Asda' + , '' + , NULL + , '' + , '123' + , 'test mail' + , 'test url' + , 1 -- active + , v_guid + ) + */ + /* Test 2 - Update */ + SELECT + id_supplier + , id_currency + , name_company + , 'Nat' AS name_contact + , 'Butchery' AS department_contact + , phone_number + , fax + , email + , website + , active + , v_guid + FROM demo.Shop_Supplier S + WHERE S.id_supplier = 2 + ; + + /* + INSERT INTO demo.Shop_Supplier_Address_Temp ( + id_address + , id_supplier + , id_region + , postcode + , address_line_1 + , address_line_2 + , city + , county + , active + , GUID + ) + / Test 1 - Insert + VALUES ( + -4 + , -3 + , 1 + , 'test postcode' + , 'test' + , 'test' + , 'test' + , 'cunty' + , 1 + , v_guid + ) + / + / Test 2 - Update / + SELECT + id_address + , id_supplier + , id_region + , postcode + , address_line_1 + , address_line_2 + , city + , county + , active + , v_guid + FROM demo.Shop_Supplier_Address SA + WHERE SA.id_supplier = 2 + ; + */ + + COMMIT; + + SELECT * + FROM demo.Shop_Supplier_Temp + WHERE GUID = v_guid + ; + + SELECT * + FROM demo.Shop_Supplier_Address_Temp + WHERE GUID = v_guid + ; + + CALL demo.p_shop_save_supplier ( + 'Test save Supplier' -- comment + , v_guid -- guid + , 1 -- id_user + , 1 -- debug + ); + + SELECT * + FROM demo.Shop_Supplier_Temp + ; + SELECT * + FROM demo.Shop_Supplier_Address_Temp + ; + SELECT * + FROM demo.Shop_Supplier + ; + SELECT * + FROM demo.Shop_Supplier_Address + ; + + CALL demo.p_debug_timing_reporting ( v_time_start ); +END // +DELIMITER ; + +/* +CALL demo.p_shop_save_supplier_test (); + +DELETE FROM demo.Shop_Supplier_Temp; +DELETE FROM demo.Shop_Supplier_Address_Temp; + +DROP TABLE IF EXISTS tmp_Msg_Error; + +Cannot add or update a child row: a foreign key constraint fails (`demo`.`shop_supplier`, CONSTRAINT `FK_Shop_Supplier_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_sales_and_purchasing_change_set` (`id_change_set`)) + +*/ + DROP PROCEDURE IF EXISTS p_shop_get_many_supplier; DELIMITER // @@ -18527,12 +17899,12 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_guid := UUID(); - SET v_id_access_level_view := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1); - SET v_code_type_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); - SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); - SET v_code_type_error_no_permission := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION'); - SET v_id_type_error_no_permission := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission); - SET v_id_permission_supplier := (SELECT id_permission FROM partsltd_prod.Shop_Permission WHERE code = 'STORE_SUPPLIER' LIMIT 1); + SET v_id_access_level_view := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1); + SET v_code_type_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + SET v_code_type_error_no_permission := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION'); + SET v_id_type_error_no_permission := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission); + SET v_id_permission_supplier := (SELECT id_permission FROM demo.Shop_Permission WHERE code = 'STORE_SUPPLIER' LIMIT 1); SET a_get_all_supplier := IFNULL(a_get_all_supplier, 0); SET a_get_inactive_supplier := IFNULL(a_get_inactive_supplier, 0); @@ -18571,7 +17943,7 @@ BEGIN -- Suppliers IF v_has_filter_supplier = 1 THEN - CALL partsltd_prod.p_split(v_guid, a_ids_supplier, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_supplier, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -18580,21 +17952,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Supplier S ON t_S.as_int = S.id_supplier + LEFT JOIN demo.Shop_Supplier S ON t_S.as_int = S.id_supplier WHERE ISNULL(t_S.as_int) OR ISNULL(S.id_supplier) @@ -18613,7 +17985,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive Supplier IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Supplier S ON t_S.as_int = S.id_supplier + LEFT JOIN demo.Shop_Supplier S ON t_S.as_int = S.id_supplier WHERE ISNULL(t_S.as_int) OR ISNULL(S.id_supplier) @@ -18629,7 +18001,7 @@ BEGIN SELECT S.id_supplier FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Supplier S ON t_S.as_int = S.id_supplier + RIGHT JOIN demo.Shop_Supplier S ON t_S.as_int = S.id_supplier WHERE ( a_get_all_supplier = 1 OR ( @@ -18711,8 +18083,8 @@ BEGIN S.website, S.active FROM tmp_Supplier t_S - INNER JOIN partsltd_prod.Shop_Supplier S ON t_S.id_supplier = S.id_supplier - LEFT JOIN partsltd_prod.Shop_Currency C ON S.id_currency = C.id_currency + INNER JOIN demo.Shop_Supplier S ON t_S.id_supplier = S.id_supplier + LEFT JOIN demo.Shop_Currency C ON S.id_currency = C.id_currency ; # Supplier Addresses @@ -18728,15 +18100,15 @@ BEGIN , SA.county , SA.active FROM tmp_Supplier t_S - INNER JOIN partsltd_prod.Shop_Supplier S ON t_S.id_supplier = S.id_supplier - INNER JOIN partsltd_prod.Shop_Supplier_Address SA ON S.id_supplier = SA.id_supplier - LEFT JOIN partsltd_prod.Shop_Region R ON SA.id_region = R.id_region + INNER JOIN demo.Shop_Supplier S ON t_S.id_supplier = S.id_supplier + INNER JOIN demo.Shop_Supplier_Address SA ON S.id_supplier = SA.id_supplier + LEFT JOIN demo.Shop_Region R ON SA.id_region = R.id_region ; # Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN @@ -18766,166 +18138,6 @@ CALL p_shop_get_many_supplier ( */ --- File: 7403_p_shop_save_supplier_purchase_order_test.sql - - --- Clear previous proc -DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_supplier_purchase_order_test; - - -DELIMITER // -CREATE PROCEDURE p_shop_save_supplier_purchase_order_test () -BEGIN - - DECLARE v_guid BINARY(36); - DECLARE v_time_start TIMESTAMP(6); - - SET v_time_start := CURRENT_TIMESTAMP(6); - SET v_guid := 'nips'; - - SELECT * - FROM partsltd_prod.Shop_Supplier_Purchase_Order - ; - SELECT * - FROM partsltd_prod.Shop_Supplier_Purchase_Order_Temp - ; - SELECT * - FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link - ; - SELECT * - FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp - ; - - START TRANSACTION; - - DELETE FROM partsltd_prod.Shop_Supplier_Purchase_Order_Temp; - DELETE FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp; - - INSERT INTO partsltd_prod.Shop_Supplier_Purchase_Order_Temp ( - id_order - , id_supplier_ordered - , id_currency_cost - , active - , GUID - ) - /* Test 1 - Insert */ - VALUES ( - -1 - , 1 - , 1 - , 1 - , v_guid - ) - /* Test 2 - Update - SELECT - id_order - , id_supplier_ordered - , id_currency_cost - , active - , v_guid - FROM partsltd_prod.Shop_Supplier_Purchase_Order - WHERE id_order = 6 - */ - ; - INSERT INTO partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp ( - id_link - , id_order - , id_permutation - , id_unit_quantity - , quantity_ordered - , quantity_received - , latency_delivery_days - , display_order - , active - , cost_total_local_VAT_excl - , cost_total_local_VAT_incl - , GUID - ) - /* Test 1 - Insert */ - VALUES ( - -1 - , -1 - , 3 - , 3 - , 3 - , 1 - , 7 - , 1 - , 1 - , 5 - , 6 - , v_guid - ) - /* Test 2 - Update - SELECT - id_link - , id_order - , id_permutation - , id_unit_quantity - , 5 AS quantity_ordered - , quantity_received - , latency_delivery_days - , display_order - , active - , cost_total_local_VAT_excl - , cost_total_local_VAT_incl - , v_guid - FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link - WHERE id_order = 6 - */ - ; - - COMMIT; - - SELECT * - FROM partsltd_prod.Shop_Supplier_Purchase_Order_Temp - WHERE GUID = v_guid - ; - - SELECT * - FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp - WHERE GUID = v_guid - ; - - CALL partsltd_prod.p_shop_save_supplier_purchase_order ( - 'Test save Supplier Purchase Order' -- comment - , v_guid -- guid - , 1 -- id_user - , 1 -- debug - ); - - SELECT * - FROM partsltd_prod.Shop_Supplier_Purchase_Order_Temp - ; - SELECT * - FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp - ; - SELECT * - FROM partsltd_prod.Shop_Supplier_Purchase_Order - ; - SELECT * - FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link - ; - - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); -END // -DELIMITER ; - -/* -CALL partsltd_prod.p_shop_save_supplier_purchase_order_test (); - -DELETE FROM partsltd_prod.Shop_Supplier_Purchase_Order_Temp; -DELETE FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp; - -DROP TABLE IF EXISTS tmp_Msg_Error; - -Cannot add or update a child row: a foreign key constraint fails (`partsltd_prod`.`shop_supplier_address`, CONSTRAINT `FK_Shop_Supplier_Address_id_supplier` FOREIGN KEY (`id_supplier`) REFERENCES `shop_supplier` (`id_supplier`) ON UPDATE RESTRICT) - -*/ - --- File: 7403_p_shop_save_supplier_purchase_order.sql - - -- Clear previous proc @@ -18979,7 +18191,7 @@ BEGIN MET.id_type , @errno , @text - FROM partsltd_prod.Shop_Msg_Error_Type MET + FROM demo.Shop_Msg_Error_Type MET WHERE code = 'MYSQL_ERROR' ; SELECT * @@ -18988,14 +18200,14 @@ BEGIN END; SET v_time_start := CURRENT_TIMESTAMP(6); - SET v_code_type_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); - SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); - SET v_code_type_error_no_permission := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1); - SET v_id_type_error_no_permission := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1); - SET v_code_type_error_warning := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'WARNING' LIMIT 1); - SET v_id_type_error_warning := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_warning LIMIT 1); - SET v_id_permission_supplier_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM partsltd_prod.Shop_Permission WHERE code IN ('STORE_SUPPLIER', 'STORE_SUPPLIER_PURCHASE_ORDER', 'STORE_PRODUCT')); - SET v_id_access_level_edit := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); + SET v_code_type_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + SET v_code_type_error_no_permission := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1); + SET v_id_type_error_no_permission := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1); + SET v_code_type_error_warning := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'WARNING' LIMIT 1); + SET v_id_type_error_warning := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_warning LIMIT 1); + SET v_id_permission_supplier_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM demo.Shop_Permission WHERE code IN ('STORE_SUPPLIER', 'STORE_SUPPLIER_PURCHASE_ORDER', 'STORE_PRODUCT')); + SET v_id_access_level_edit := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); CALL p_validate_guid ( a_guid ); SET a_comment := TRIM(IFNULL(a_comment, '')); @@ -19071,10 +18283,10 @@ BEGIN , ' ' , IFNULL(IFNULL(SPO.cost_total_local_vat_excl, SPO.cost_total_local_vat_incl), '(No cost)') ) AS name_error - FROM partsltd_prod.Shop_Supplier_Purchase_Order_Temp SPO_T - LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO ON SPO_T.id_order = SPO.id_order - LEFT JOIN partsltd_prod.Shop_Supplier S ON SPO_T.id_supplier_ordered = S.id_supplier - LEFT JOIN partsltd_prod.Shop_Currency C ON SPO_T.id_currency_cost = C.id_currency + FROM demo.Shop_Supplier_Purchase_Order_Temp SPO_T + LEFT JOIN demo.Shop_Supplier_Purchase_Order SPO ON SPO_T.id_order = SPO.id_order + LEFT JOIN demo.Shop_Supplier S ON SPO_T.id_supplier_ordered = S.id_supplier + LEFT JOIN demo.Shop_Currency C ON SPO_T.id_currency_cost = C.id_currency WHERE SPO_T.GUID = a_guid ; @@ -19104,7 +18316,7 @@ BEGIN IFNULL( SPOPL_T.id_permutation , CASE WHEN NOT ISNULL(SPOPL_T.id_product) AND NOT ISNULL(SPOPL_T.csv_list_variations) THEN - partsltd_prod.fn_shop_get_id_product_permutation_from_variation_csv_list(SPOPL_T.id_product, SPOPL_T.csv_list_variations) + demo.fn_shop_get_id_product_permutation_from_variation_csv_list(SPOPL_T.id_product, SPOPL_T.csv_list_variations) ELSE NULL END ) , SPOPL.id_permutation @@ -19126,20 +18338,20 @@ BEGIN , IFNULL(IFNULL(SPOPL_T.active, SPOPL.active), 1) AS active , NOT ISNULL(t_SPO.id_order) AS has_order , IFNULL(SPOPL_T.id_link, 0) < 1 AS is_new - FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp SPOPL_T - LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON SPOPL_T.id_link = SPOPL.id_link + FROM demo.Shop_Supplier_Purchase_Order_Product_Link_Temp SPOPL_T + LEFT JOIN demo.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON SPOPL_T.id_link = SPOPL.id_link LEFT JOIN tmp_Supplier_Purchase_Order t_SPO ON SPOPL_T.id_order = t_SPO.id_order WHERE SPOPL_T.GUID = a_guid ; UPDATE tmp_Supplier_Purchase_Order_Product_Link t_SPOPL - LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp SPOPL_T + LEFT JOIN demo.Shop_Supplier_Purchase_Order_Product_Link_Temp SPOPL_T ON t_SPOPL.id_link = SPOPL_T.id_link AND t_SPOPL.GUID = a_guid - LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON t_SPOPL.id_link = SPOPL.id_link - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_SPOPL.id_permutation = PP.id_permutation - LEFT JOIN partsltd_prod.Shop_Product P ON SPOPL_T.id_product = P.id_product - LEFT JOIN partsltd_prod.Shop_Product_Category PC ON P.id_category = PC.id_category + LEFT JOIN demo.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON t_SPOPL.id_link = SPOPL.id_link + LEFT JOIN demo.Shop_Product_Permutation PP ON t_SPOPL.id_permutation = PP.id_permutation + LEFT JOIN demo.Shop_Product P ON SPOPL_T.id_product = P.id_product + LEFT JOIN demo.Shop_Product_Category PC ON P.id_category = PC.id_category SET t_SPOPL.id_product = IFNULL(P.id_product, SPOPL_T.id_product) , t_SPOPL.name_error = CONCAT( @@ -19180,7 +18392,7 @@ BEGIN , IFNULL(SPO.id_currency_cost, 0) AS id_currency_cost , SPO.active AS active , 0 AS is_new - FROM partsltd_prod.Shop_Supplier_Purchase_Order SPO + FROM demo.Shop_Supplier_Purchase_Order SPO INNER JOIN tmp_Supplier_Purchase_Order_Product_Link t_SPOPL ON SPO.id_order = t_SPOPL.id_order AND t_SPOPL.has_order = 0 @@ -19206,7 +18418,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Supplier_Purchase_Order t_SPO - LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO ON t_SPO.id_order = SPO.id_order + LEFT JOIN demo.Shop_Supplier_Purchase_Order SPO ON t_SPO.id_order = SPO.id_order WHERE 1=1 AND t_SPO.id_order > 0 AND ISNULL(SPO.id_order) @@ -19225,7 +18437,7 @@ BEGIN , GROUP_CONCAT(CONCAT(IFNULL(t_SPO.id_stock, '(No Supplier Purchase Order)')) SEPARATOR ', ') ) AS msg FROM tmp_Supplier_Purchase_Order t_SPO - LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO ON t_SPO.id_order = SPO.id_order + LEFT JOIN demo.Shop_Supplier_Purchase_Order SPO ON t_SPO.id_order = SPO.id_order WHERE 1=1 AND t_SPO.id_stock > 0 AND ISNULL(SPO.id_stock) @@ -19235,7 +18447,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Supplier_Purchase_Order t_SPO - LEFT JOIN partsltd_prod.Shop_Supplier S ON t_SPO.id_supplier_ordered = S.id_supplier + LEFT JOIN demo.Shop_Supplier S ON t_SPO.id_supplier_ordered = S.id_supplier WHERE 1=1 AND ( ISNULL(S.id_supplier) @@ -19256,7 +18468,7 @@ BEGIN , GROUP_CONCAT(CONCAT(IFNULL(t_SPO.id_stock, '(No Supplier Purchase Order)'), ' - ', t_SPO.id_supplier_ordered) SEPARATOR ', ') ) AS msg FROM tmp_Supplier_Purchase_Order t_SPO - LEFT JOIN partsltd_prod.Shop_Supplier S ON t_SPO.id_supplier_ordered = S.id_supplier + LEFT JOIN demo.Shop_Supplier S ON t_SPO.id_supplier_ordered = S.id_supplier WHERE 1=1 AND ( ISNULL(S.id_supplier) @@ -19268,7 +18480,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Supplier_Purchase_Order t_SPO - LEFT JOIN partsltd_prod.Shop_Currency C ON t_SPO.id_currency_cost = C.id_currency + LEFT JOIN demo.Shop_Currency C ON t_SPO.id_currency_cost = C.id_currency WHERE 1=1 AND ( ISNULL(C.id_currency) @@ -19289,7 +18501,7 @@ BEGIN , GROUP_CONCAT(CONCAT(IFNULL(t_SPO.id_stock, '(No Supplier Purchase Order)'), ' - ', t_SPO.id_currency_cost) SEPARATOR ', ') ) AS msg FROM tmp_Supplier_Purchase_Order t_SPO - LEFT JOIN partsltd_prod.Shop_Currency C ON t_SPO.id_currency_cost = C.id_currency + LEFT JOIN demo.Shop_Currency C ON t_SPO.id_currency_cost = C.id_currency WHERE 1=1 AND ( ISNULL(C.id_currency) @@ -19301,7 +18513,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Supplier_Purchase_Order_Product_Link t_SPOPL - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM ON t_SPOPL.id_unit_quantity = UM.id_unit_measurement + LEFT JOIN demo.Shop_Unit_Measurement UM ON t_SPOPL.id_unit_quantity = UM.id_unit_measurement WHERE 1=1 AND ( ISNULL(UM.id_unit_measurement) @@ -19322,7 +18534,7 @@ BEGIN , GROUP_CONCAT(CONCAT(IFNULL(t_SPO.id_stock, '(No Supplier Purchase Order)'), ' - ', t_SPO.id_currency_cost) SEPARATOR ', ') ) AS msg FROM tmp_Supplier_Purchase_Order_Product_Link t_SPOPL - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM ON t_SPOPL.id_unit_quantity = UM.id_unit_measurement + LEFT JOIN demo.Shop_Unit_Measurement UM ON t_SPOPL.id_unit_quantity = UM.id_unit_measurement WHERE 1=1 AND ( ISNULL(UM.id_unit_measurement) @@ -19469,7 +18681,7 @@ BEGIN SELECT GROUP_CONCAT(DISTINCT PP.id_product SEPARATOR ',') FROM tmp_Supplier_Purchase_Order_Product_Link t_SPOPL - INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON t_SPOPL.id_permutation = PP.id_permutation + INNER JOIN demo.Shop_Product_Permutation PP ON t_SPOPL.id_permutation = PP.id_permutation ); IF a_debug = 1 THEN SELECT @@ -19481,7 +18693,7 @@ BEGIN , v_ids_product_permission -- ids_product , 0 -- a_debug ; - SELECT * from partsltd_prod.Shop_Calc_User_Temp; + SELECT * from demo.Shop_Calc_User_Temp; END IF; CALL p_shop_calc_user( @@ -19495,11 +18707,11 @@ BEGIN ); IF a_debug = 1 THEN - SELECT * from partsltd_prod.Shop_Calc_User_Temp WHERE GUID = a_guid; + SELECT * from demo.Shop_Calc_User_Temp WHERE GUID = a_guid; END IF; UPDATE tmp_Supplier_Purchase_Order_Product_Link t_SPOPL - INNER JOIN partsltd_prod.Shop_Calc_User_Temp CUT + INNER JOIN demo.Shop_Calc_User_Temp CUT ON t_SPOPL.id_product = t_SPOPL.id_product AND CUT.GUID = a_guid SET @@ -19520,7 +18732,7 @@ BEGIN , GROUP_CONCAT(P.name SEPARATOR ', ') ) AS msg FROM tmp_Supplier_Purchase_Order_Product_Link t_SPOPL - INNER JOIN partsltd_prod.Shop_Product P ON t_SPOPL.id_product = P.id_product + INNER JOIN demo.Shop_Product P ON t_SPOPL.id_product = P.id_product WHERE t_SPOPL.is_new = 0 AND t_SPOPL.can_view = 0 @@ -19544,15 +18756,15 @@ BEGIN , ': ' , GROUP_CONCAT(PERM.name SEPARATOR ', ') ) AS msg - FROM partsltd_prod.Shop_Access_Level AL - CROSS JOIN partsltd_prod.Shop_Calc_User_Temp CU_T + FROM demo.Shop_Access_Level AL + CROSS JOIN demo.Shop_Calc_User_Temp CU_T ON CU_T.GUID = a_guid AND ISNULL(CU_T.id_product) AND IFNULL(CU_T.can_edit, 0) = 0 ; END IF; - CALL partsltd_prod.p_shop_clear_calc_user( + CALL demo.p_shop_clear_calc_user( a_guid , 0 -- a_debug ); @@ -19560,8 +18772,8 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Supplier_Purchase_Order_Product_Link t_SPOPL - INNER JOIN partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON t_SPOPL.id_link = SPOPL.id_link - INNER JOIN partsltd_prod.Shop_Stock_Item SI ON SPOPL.id_permutation = SI.id_permutation + INNER JOIN demo.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON t_SPOPL.id_link = SPOPL.id_link + INNER JOIN demo.Shop_Stock_Item SI ON SPOPL.id_permutation = SI.id_permutation WHERE t_SPOPL.is_new = 0 AND t_SPOPL.quantity_received <> SPOPL.quantity_received @@ -19610,7 +18822,7 @@ BEGIN SET v_id_change_set := LAST_INSERT_ID(); - INSERT INTO partsltd_prod.Shop_Supplier_Purchase_Order ( + INSERT INTO demo.Shop_Supplier_Purchase_Order ( id_order_temp , id_supplier_ordered , id_currency_cost @@ -19637,7 +18849,7 @@ BEGIN GROUP BY t_SPO.id_order ; - UPDATE partsltd_prod.Shop_Supplier_Purchase_Order SPO + UPDATE demo.Shop_Supplier_Purchase_Order SPO INNER JOIN tmp_Supplier_Purchase_Order t_SPO ON SPO.id_order = t_SPO.id_order AND t_SPO.is_new = 0 @@ -19653,7 +18865,7 @@ BEGIN UPDATE tmp_Supplier_Purchase_Order t_SPO - INNER JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO + INNER JOIN demo.Shop_Supplier_Purchase_Order SPO ON t_SPO.id_order_temp = SPO.id_order_temp AND SPO.id_change_set = v_id_change_set SET @@ -19706,7 +18918,7 @@ BEGIN WHERE t_SPOPL.is_new = 1 ; - UPDATE partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link SPOPL + UPDATE demo.Shop_Supplier_Purchase_Order_Product_Link SPOPL INNER JOIN tmp_Supplier_Purchase_Order_Product_Link t_SPOPL ON SPOPL.id_link = t_SPOPL.id_link AND t_SPOPL.is_new = 0 @@ -19745,7 +18957,7 @@ BEGIN # Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN @@ -19758,7 +18970,7 @@ BEGIN DROP TEMPORARY TABLE tmp_Msg_Error; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -19826,9 +19038,160 @@ DELETE FROM Shop_Supplier_Purchase_Order; --- File: 7404_p_shop_get_many_supplier_purchase_order.sql +-- Clear previous proc +DROP PROCEDURE IF EXISTS demo.p_shop_save_supplier_purchase_order_test; +DELIMITER // +CREATE PROCEDURE p_shop_save_supplier_purchase_order_test () +BEGIN + + DECLARE v_guid BINARY(36); + DECLARE v_time_start TIMESTAMP(6); + + SET v_time_start := CURRENT_TIMESTAMP(6); + SET v_guid := 'nips'; + + SELECT * + FROM demo.Shop_Supplier_Purchase_Order + ; + SELECT * + FROM demo.Shop_Supplier_Purchase_Order_Temp + ; + SELECT * + FROM demo.Shop_Supplier_Purchase_Order_Product_Link + ; + SELECT * + FROM demo.Shop_Supplier_Purchase_Order_Product_Link_Temp + ; + + START TRANSACTION; + + DELETE FROM demo.Shop_Supplier_Purchase_Order_Temp; + DELETE FROM demo.Shop_Supplier_Purchase_Order_Product_Link_Temp; + + INSERT INTO demo.Shop_Supplier_Purchase_Order_Temp ( + id_order + , id_supplier_ordered + , id_currency_cost + , active + , GUID + ) + /* Test 1 - Insert */ + VALUES ( + -1 + , 1 + , 1 + , 1 + , v_guid + ) + /* Test 2 - Update + SELECT + id_order + , id_supplier_ordered + , id_currency_cost + , active + , v_guid + FROM demo.Shop_Supplier_Purchase_Order + WHERE id_order = 6 + */ + ; + INSERT INTO demo.Shop_Supplier_Purchase_Order_Product_Link_Temp ( + id_link + , id_order + , id_permutation + , id_unit_quantity + , quantity_ordered + , quantity_received + , latency_delivery_days + , display_order + , active + , cost_total_local_VAT_excl + , cost_total_local_VAT_incl + , GUID + ) + /* Test 1 - Insert */ + VALUES ( + -1 + , -1 + , 3 + , 3 + , 3 + , 1 + , 7 + , 1 + , 1 + , 5 + , 6 + , v_guid + ) + /* Test 2 - Update + SELECT + id_link + , id_order + , id_permutation + , id_unit_quantity + , 5 AS quantity_ordered + , quantity_received + , latency_delivery_days + , display_order + , active + , cost_total_local_VAT_excl + , cost_total_local_VAT_incl + , v_guid + FROM demo.Shop_Supplier_Purchase_Order_Product_Link + WHERE id_order = 6 + */ + ; + + COMMIT; + + SELECT * + FROM demo.Shop_Supplier_Purchase_Order_Temp + WHERE GUID = v_guid + ; + + SELECT * + FROM demo.Shop_Supplier_Purchase_Order_Product_Link_Temp + WHERE GUID = v_guid + ; + + CALL demo.p_shop_save_supplier_purchase_order ( + 'Test save Supplier Purchase Order' -- comment + , v_guid -- guid + , 1 -- id_user + , 1 -- debug + ); + + SELECT * + FROM demo.Shop_Supplier_Purchase_Order_Temp + ; + SELECT * + FROM demo.Shop_Supplier_Purchase_Order_Product_Link_Temp + ; + SELECT * + FROM demo.Shop_Supplier_Purchase_Order + ; + SELECT * + FROM demo.Shop_Supplier_Purchase_Order_Product_Link + ; + + CALL demo.p_debug_timing_reporting ( v_time_start ); +END // +DELIMITER ; + +/* +CALL demo.p_shop_save_supplier_purchase_order_test (); + +DELETE FROM demo.Shop_Supplier_Purchase_Order_Temp; +DELETE FROM demo.Shop_Supplier_Purchase_Order_Product_Link_Temp; + +DROP TABLE IF EXISTS tmp_Msg_Error; + +Cannot add or update a child row: a foreign key constraint fails (`demo`.`shop_supplier_address`, CONSTRAINT `FK_Shop_Supplier_Address_id_supplier` FOREIGN KEY (`id_supplier`) REFERENCES `shop_supplier` (`id_supplier`) ON UPDATE RESTRICT) + +*/ + DROP PROCEDURE IF EXISTS p_shop_get_many_supplier_purchase_order; DELIMITER // @@ -19862,12 +19225,12 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_guid := UUID(); - SET v_id_access_level_view := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1); - SET v_code_type_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); - SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); - SET v_code_type_error_no_permission := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1); - SET v_id_type_error_no_permission := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1); - SET v_ids_permission_supplier_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM partsltd_prod.Shop_Permission WHERE code IN ('STORE_SUPPLIER', 'STORE_SUPPLIER_PURCHASE_ORDER', 'STORE_PRODUCT')); + SET v_id_access_level_view := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1); + SET v_code_type_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + SET v_code_type_error_no_permission := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1); + SET v_id_type_error_no_permission := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1); + SET v_ids_permission_supplier_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM demo.Shop_Permission WHERE code IN ('STORE_SUPPLIER', 'STORE_SUPPLIER_PURCHASE_ORDER', 'STORE_PRODUCT')); SET a_get_all_supplier := IFNULL(a_get_all_supplier, 1); SET a_get_inactive_supplier := IFNULL(a_get_inactive_supplier, 0); @@ -19930,7 +19293,7 @@ BEGIN -- Permutations IF v_has_filter_permutation = 1 THEN - CALL partsltd_prod.p_split(v_guid, a_ids_permutation, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_permutation, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -19939,21 +19302,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation + LEFT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation WHERE ISNULL(t_S.as_int) OR ISNULL(PP.id_permutation) @@ -19969,7 +19332,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive permutation IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation + LEFT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation WHERE ISNULL(t_S.as_int) OR ISNULL(PP.id_permutation) @@ -19982,7 +19345,7 @@ BEGIN SELECT PP.id_permutation FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation + RIGHT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation WHERE ( v_has_filter_permutation = 0 OR NOT ISNULL(t_S.as_int) @@ -19995,7 +19358,7 @@ BEGIN -- Suppliers IF v_has_filter_supplier = 1 THEN - CALL partsltd_prod.p_split(v_guid, a_ids_supplier, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_supplier, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -20004,21 +19367,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Supplier S ON t_S.as_int = S.id_supplier + LEFT JOIN demo.Shop_Supplier S ON t_S.as_int = S.id_supplier WHERE ISNULL(t_S.as_int) OR ISNULL(S.id_supplier) @@ -20037,7 +19400,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive Supplier IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Supplier S ON t_S.as_int = S.id_supplier + LEFT JOIN demo.Shop_Supplier S ON t_S.as_int = S.id_supplier WHERE ISNULL(t_S.as_int) OR ISNULL(S.id_supplier) @@ -20053,7 +19416,7 @@ BEGIN SELECT S.id_supplier FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Supplier S ON t_S.as_int = S.id_supplier + RIGHT JOIN demo.Shop_Supplier S ON t_S.as_int = S.id_supplier WHERE ( a_get_all_supplier = 1 OR ( @@ -20073,7 +19436,7 @@ BEGIN -- Supplier Purchase Orders IF v_has_filter_order = 1 THEN - CALL partsltd_prod.p_split(v_guid, a_ids_order, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_order, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -20082,21 +19445,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO ON t_S.as_int = SPO.id_order + LEFT JOIN demo.Shop_Supplier_Purchase_Order SPO ON t_S.as_int = SPO.id_order WHERE ISNULL(t_S.as_int) OR ISNULL(SPO.id_order) @@ -20115,7 +19478,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive Supplier Purchase Order IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO ON t_S.as_int = SPO.id_order + LEFT JOIN demo.Shop_Supplier_Purchase_Order SPO ON t_S.as_int = SPO.id_order WHERE ISNULL(t_S.as_int) OR ISNULL(SPO.id_order) @@ -20131,9 +19494,9 @@ BEGIN SELECT SPO.id_order FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO ON t_S.as_int = SPO.id_order + RIGHT JOIN demo.Shop_Supplier_Purchase_Order SPO ON t_S.as_int = SPO.id_order INNER JOIN tmp_Supplier t_SUPP ON SPO.id_supplier_ordered = t_SUPP.id_supplier - INNER JOIN partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON SPO.id_order = SPOPL.id_order + INNER JOIN demo.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON SPO.id_order = SPOPL.id_order INNER JOIN tmp_Permutation t_PP ON SPOPL.id_permutation = t_PP.id_permutation WHERE ( a_get_all_order = 1 @@ -20180,7 +19543,7 @@ BEGIN , '' -- ids_product , 0 -- a_debug ; - SELECT * from partsltd_prod.Shop_Calc_User_Temp; + SELECT * from demo.Shop_Calc_User_Temp; END IF; CALL p_shop_calc_user( @@ -20194,10 +19557,10 @@ BEGIN ); IF a_debug = 1 THEN - SELECT * from partsltd_prod.Shop_Calc_User_Temp; + SELECT * from demo.Shop_Calc_User_Temp; END IF; - IF NOT EXISTS (SELECT can_view FROM partsltd_prod.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = v_guid) THEN + IF NOT EXISTS (SELECT can_view FROM demo.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = v_guid) THEN DELETE FROM tmp_Msg_Error; INSERT INTO tmp_Msg_Error ( @@ -20208,7 +19571,7 @@ BEGIN VALUES ( v_id_type_error_no_permission , v_code_type_error_no_permission - , CONCAT('You do not have view permissions for ', (SELECT name FROM partsltd_prod.Shop_Permission WHERE id_permission = v_ids_permission_supplier_purchase_order LIMIT 1)) + , CONCAT('You do not have view permissions for ', (SELECT name FROM demo.Shop_Permission WHERE id_permission = v_ids_permission_supplier_purchase_order LIMIT 1)) ) ; END IF; @@ -20234,7 +19597,7 @@ BEGIN S.id_currency, t_S.active FROM tmp_Supplier t_S - INNER JOIN partsltd_prod.Shop_Supplier S + INNER JOIN demo.Shop_Supplier S ON t_S.id_supplier = S.id_supplier ; */ @@ -20257,9 +19620,9 @@ BEGIN , SPO.created_on ) AS name FROM tmp_Supplier_Purchase_Order t_SPO - INNER JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO ON SPO.id_order = t_SPO.id_order - LEFT JOIN partsltd_prod.Shop_Supplier S ON SPO.id_supplier_ordered = S.id_supplier - LEFT JOIN partsltd_prod.Shop_Currency C ON SPO.id_currency_cost = C.id_currency + INNER JOIN demo.Shop_Supplier_Purchase_Order SPO ON SPO.id_order = t_SPO.id_order + LEFT JOIN demo.Shop_Supplier S ON SPO.id_supplier_ordered = S.id_supplier + LEFT JOIN demo.Shop_Currency C ON SPO.id_currency_cost = C.id_currency ; # Supplier Purchase Order Product Link @@ -20283,15 +19646,15 @@ BEGIN , SPOPL.cost_unit_local_VAT_incl , SPOPL.active FROM tmp_Supplier_Purchase_Order t_SPO - INNER JOIN partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON t_SPO.id_order = SPOPL.id_order - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON SPOPL.id_permutation = PP.id_permutation - LEFT JOIN partsltd_prod.Shop_Product P ON PP.id_product = P.id_product + INNER JOIN demo.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON t_SPO.id_order = SPOPL.id_order + LEFT JOIN demo.Shop_Product_Permutation PP ON SPOPL.id_permutation = PP.id_permutation + LEFT JOIN demo.Shop_Product P ON PP.id_product = P.id_product ; # Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN @@ -20333,161 +19696,6 @@ CALL p_shop_get_many_supplier_purchase_order ( */ --- File: 7415_p_shop_save_Manufacturing_purchase_order_test.sql - - --- Clear previous proc -DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_Manufacturing_purchase_order_test; - - -DELIMITER // -CREATE PROCEDURE p_shop_save_Manufacturing_purchase_order_test () -BEGIN - - DECLARE v_guid BINARY(36); - DECLARE v_time_start TIMESTAMP(6); - - SET v_time_start := CURRENT_TIMESTAMP(6); - SET v_guid := 'nips'; - - SELECT * - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order - ; - SELECT * - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp - ; - SELECT * - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link - ; - SELECT * - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp - ; - - START TRANSACTION; - - DELETE FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp; - DELETE FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp; - - INSERT INTO partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp ( - id_order - , id_currency - , active - , GUID - ) - /* Test 1 - Insert */ - VALUES ( - -1 - , 1 - , 1 - , v_guid - ) - /* Test 2: Alter - SELECT - id_order - , id_currency - , active - , v_guid - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order - WHERE id_order = 6 - */ - ;-- SELECT * FROM partsltd_prod.Shop_Unit_Measurement; - - INSERT INTO partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp ( - id_link - , id_order - , id_permutation - , id_unit_quantity - , quantity_used - , quantity_produced - , id_unit_latency_manufacture - , latency_manufacture - , display_order - , active - , GUID - ) - /* Test 1 - Insert */ - VALUES ( - -1 -- id_link - , -1 -- id_order - , 3 -- id_permutation - , 3 -- id_unit_quantity - , 3 -- quantity_used - , 0 -- quantity_produced - , 4 -- id_unit_latency_manufacture - , 4 -- latency_manufacture - , 1 -- display_order - , 1 -- active - , v_guid -- - ) - /* Test 2: Alter - SELECT - id_link - , id_order - , id_permutation - , id_unit_quantity - , quantity_used - , quantity_produced - , id_unit_latency_manufacture - , latency_manufacture - , display_order - , active - , v_guid - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link - WHERE id_order = 6 - */ - ; - - COMMIT; - - SELECT * - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp - WHERE GUID = v_guid - ; - - SELECT * - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp - WHERE GUID = v_guid - ; - - CALL partsltd_prod.p_shop_save_Manufacturing_purchase_order ( - 'Test save Manufacturing Purchase Order' -- comment - , v_guid -- guid - , 1 -- id_user - , 1 -- debug - ); - - SELECT * - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp - ; - SELECT * - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp - ; - SELECT * - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order - ; - SELECT * - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link - ; - - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); -END // -DELIMITER ; - -/* -CALL partsltd_prod.p_shop_save_Manufacturing_purchase_order_test (); - -DELETE FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp; -DELETE FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp; - -DROP TABLE IF EXISTS tmp_Msg_Error; - -select * from partsltd_prod.Shop_User; -Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'partsltd_prod.t_MPOPL.name_error' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by -*/ - --- File: 7415_p_shop_save_manufacturing_purchase_order.sql - - -- Clear previous proc @@ -20541,7 +19749,7 @@ BEGIN MET.id_type , @errno , @text - FROM partsltd_prod.Shop_Msg_Error_Type MET + FROM demo.Shop_Msg_Error_Type MET WHERE code = 'MYSQL_ERROR' ; SELECT * @@ -20550,14 +19758,14 @@ BEGIN END; SET v_time_start := CURRENT_TIMESTAMP(6); - SET v_code_type_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); - SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); - SET v_code_type_error_no_permission := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1); - SET v_id_type_error_no_permission := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1); - SET v_code_type_error_warning := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'WARNING' LIMIT 1); - SET v_id_type_error_warning := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_warning LIMIT 1); - SET v_ids_permission_manufacturing_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM partsltd_prod.Shop_Permission WHERE code IN ('STORE_MANUFACTURING_PURCHASE_ORDER', 'STORE_PRODUCT')); - SET v_id_access_level_edit := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); + SET v_code_type_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + SET v_code_type_error_no_permission := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1); + SET v_id_type_error_no_permission := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1); + SET v_code_type_error_warning := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'WARNING' LIMIT 1); + SET v_id_type_error_warning := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_warning LIMIT 1); + SET v_ids_permission_manufacturing_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM demo.Shop_Permission WHERE code IN ('STORE_MANUFACTURING_PURCHASE_ORDER', 'STORE_PRODUCT')); + SET v_id_access_level_edit := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); CALL p_validate_guid ( a_guid ); SET a_comment := TRIM(IFNULL(a_comment, '')); @@ -20635,8 +19843,8 @@ BEGIN , IFNULL(IFNULL(MPO_T.id_currency, MPO.id_currency), '(No Currency)') ) END AS name_error - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp MPO_T - LEFT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO ON MPO_T.id_order = MPO.id_order + FROM demo.Shop_Manufacturing_Purchase_Order_Temp MPO_T + LEFT JOIN demo.Shop_Manufacturing_Purchase_Order MPO ON MPO_T.id_order = MPO.id_order WHERE MPO_T.GUID = a_guid ; @@ -20668,7 +19876,7 @@ BEGIN IFNULL( MPOPL_T.id_permutation , CASE WHEN NOT ISNULL(MPOPL_T.id_product) AND NOT ISNULL(MPOPL_T.csv_list_variations) THEN - partsltd_prod.fn_shop_get_id_product_permutation_from_variation_csv_list(MPOPL_T.id_product, MPOPL_T.csv_list_variations) + demo.fn_shop_get_id_product_permutation_from_variation_csv_list(MPOPL_T.id_product, MPOPL_T.csv_list_variations) ELSE NULL END ) , MPOPL.id_permutation @@ -20690,18 +19898,18 @@ BEGIN , IFNULL(MPOPL_T.price_unit_local_VAT_incl, MPOPL.price_unit_local_VAT_incl) AS price_unit_local_VAT_incl , NOT ISNULL(t_MPO.id_order) AS has_order , IFNULL(MPOPL_T.id_link, 0) < 1 AS is_new - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp MPOPL_T - LEFT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON MPOPL_T.id_link = MPOPL.id_link + FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp MPOPL_T + LEFT JOIN demo.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON MPOPL_T.id_link = MPOPL.id_link LEFT JOIN tmp_Manufacturing_Purchase_Order t_MPO ON MPOPL_T.id_order = t_MPO.id_order - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON MPOPL.id_permutation = PP.id_permutation + LEFT JOIN demo.Shop_Product_Permutation PP ON MPOPL.id_permutation = PP.id_permutation WHERE MPOPL_T.GUID = a_guid ; UPDATE tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL - -- INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp MPOPL_T ON t_MPOPL.id_order = MPOPL_T.id_order - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_MPOPL.id_permutation = PP.id_permutation - LEFT JOIN partsltd_prod.Shop_Product P ON PP.id_product = P.id_product - LEFT JOIN partsltd_prod.Shop_Product_Category PC ON P.id_category = PC.id_category + -- INNER JOIN demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp MPOPL_T ON t_MPOPL.id_order = MPOPL_T.id_order + LEFT JOIN demo.Shop_Product_Permutation PP ON t_MPOPL.id_permutation = PP.id_permutation + LEFT JOIN demo.Shop_Product P ON PP.id_product = P.id_product + LEFT JOIN demo.Shop_Product_Category PC ON P.id_category = PC.id_category SET name_error = CONCAT( CASE WHEN ISNULL(t_MPOPL.id_permutation) THEN @@ -20749,7 +19957,7 @@ BEGIN , ' - ' , IFNULL(MPO.id_currency, '(No Currency)') ) AS name_error - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order MPO + FROM demo.Shop_Manufacturing_Purchase_Order MPO INNER JOIN tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL ON MPO.id_order = t_MPOPL.id_order AND t_MPOPL.has_order = 0 @@ -20779,7 +19987,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Manufacturing_Purchase_Order t_MPO - LEFT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO ON t_MPO.id_order = MPO.id_order + LEFT JOIN demo.Shop_Manufacturing_Purchase_Order MPO ON t_MPO.id_order = MPO.id_order WHERE 1=1 AND t_MPO.id_order > 0 AND ISNULL(MPO.id_order) @@ -20798,7 +20006,7 @@ BEGIN , GROUP_CONCAT(t_MPO.name_error SEPARATOR ', ') ) AS msg FROM tmp_Manufacturing_Purchase_Order t_MPO - LEFT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO ON t_MPO.id_order = MPO.id_order + LEFT JOIN demo.Shop_Manufacturing_Purchase_Order MPO ON t_MPO.id_order = MPO.id_order WHERE 1=1 AND t_MPO.id_order > 0 AND ISNULL(MPO.id_order) @@ -20808,7 +20016,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Manufacturing_Purchase_Order t_MPO - LEFT JOIN partsltd_prod.Shop_Currency C ON t_MPO.id_currency = C.id_currency + LEFT JOIN demo.Shop_Currency C ON t_MPO.id_currency = C.id_currency WHERE 1=1 AND ( ISNULL(C.id_currency) @@ -20829,7 +20037,7 @@ BEGIN , GROUP_CONCAT(CONCAT(t_MPO.name_error, ' - ', t_MPO.id_currency) SEPARATOR ', ') ) AS msg FROM tmp_Manufacturing_Purchase_Order t_MPO - LEFT JOIN partsltd_prod.Shop_Currency C ON t_MPO.id_currency = C.id_currency + LEFT JOIN demo.Shop_Currency C ON t_MPO.id_currency = C.id_currency WHERE 1=1 AND ( ISNULL(C.id_currency) @@ -20841,7 +20049,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_quantity = UM.id_unit_measurement + LEFT JOIN demo.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_quantity = UM.id_unit_measurement WHERE 1=1 AND ( ISNULL(UM.id_unit_measurement) @@ -20862,7 +20070,7 @@ BEGIN , GROUP_CONCAT(CONCAT(t_MPOPL.name_error, ' - ', t_MPO.id_unit_quantity) SEPARATOR ', ') ) AS msg FROM tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_quantity = UM.id_unit_measurement + LEFT JOIN demo.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_quantity = UM.id_unit_measurement WHERE 1=1 AND ( ISNULL(UM.id_unit_measurement) @@ -20922,7 +20130,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_latency_manufacture = UM.id_unit_measurement + LEFT JOIN demo.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_latency_manufacture = UM.id_unit_measurement WHERE ISNULL(t_MPOPL.id_unit_latency_manufacture) OR ISNULL(UM.id_unit_measurement) @@ -20942,7 +20150,7 @@ BEGIN , GROUP_CONCAT(CONCAT(t_MPOPL.name_error, ' - ', t_MPOPL.id_unit_latency_manufacture) SEPARATOR ', ') ) AS msg FROM tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_latency_manufacture = UM.id_unit_measurement + LEFT JOIN demo.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_latency_manufacture = UM.id_unit_measurement WHERE ISNULL(t_MPOPL.id_unit_latency_manufacture) OR ISNULL(UM.id_unit_measurement) @@ -21144,7 +20352,7 @@ BEGIN SELECT GROUP_CONCAT(DISTINCT PP.id_product SEPARATOR ',') FROM tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL - INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON t_MPOPL.id_permutation = PP.id_permutation + INNER JOIN demo.Shop_Product_Permutation PP ON t_MPOPL.id_permutation = PP.id_permutation ); IF a_debug = 1 THEN SELECT @@ -21157,7 +20365,7 @@ BEGIN , 0 -- a_debug ; SELECT * - FROM partsltd_prod.Shop_Calc_User_Temp + FROM demo.Shop_Calc_User_Temp WHERE GUID = a_guid ; END IF; @@ -21173,10 +20381,10 @@ BEGIN ); IF a_debug = 1 THEN - SELECT * from partsltd_prod.Shop_Calc_User_Temp WHERE GUID = a_guid; + SELECT * from demo.Shop_Calc_User_Temp WHERE GUID = a_guid; END IF; - IF EXISTS (SELECT * FROM partsltd_prod.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = a_guid AND IFNULL(UE_T.can_view, 0) = 0) THEN + IF EXISTS (SELECT * FROM demo.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = a_guid AND IFNULL(UE_T.can_view, 0) = 0) THEN DELETE FROM tmp_Msg_Error; INSERT INTO tmp_Msg_Error ( @@ -21191,15 +20399,15 @@ BEGIN 'You do not have edit permissions for ' , GROUP_CONCAT(name SEPARATOR ', ') ) - FROM partsltd_prod.Shop_Permission PERM - INNER JOIN partsltd_prod.Shop_Calc_User_Temp UE_T + FROM demo.Shop_Permission PERM + INNER JOIN demo.Shop_Calc_User_Temp UE_T ON PERM.id_permission = UE_T.id_permission AND UE_T.GUID = a_guid AND IFNULL(UE_T.can_view, 0) = 0 ; END IF; - CALL partsltd_prod.p_shop_clear_calc_user( + CALL demo.p_shop_clear_calc_user( a_guid , 0 -- a_debug ); @@ -21208,8 +20416,8 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL - INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON t_MPOPL.id_link = MPOPL.id_link - INNER JOIN partsltd_prod.Shop_Stock_Item SI ON MPOPL.id_permutation = SI.id_permutation + INNER JOIN demo.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON t_MPOPL.id_link = MPOPL.id_link + INNER JOIN demo.Shop_Stock_Item SI ON MPOPL.id_permutation = SI.id_permutation WHERE t_MPOPL.is_new = 0 AND t_MPOPL.quantity_used <> MPOPL.quantity_used @@ -21240,8 +20448,8 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL - INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON t_MPOPL.id_link = MPOPL.id_link - INNER JOIN partsltd_prod.Shop_Stock_Item SI ON MPOPL.id_permutation = SI.id_permutation + INNER JOIN demo.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON t_MPOPL.id_link = MPOPL.id_link + INNER JOIN demo.Shop_Stock_Item SI ON MPOPL.id_permutation = SI.id_permutation WHERE t_MPOPL.is_new = 0 AND t_MPOPL.quantity_produced <> MPOPL.quantity_produced @@ -21290,7 +20498,7 @@ BEGIN SET v_id_change_set := LAST_INSERT_ID(); - INSERT INTO partsltd_prod.Shop_Manufacturing_Purchase_Order ( + INSERT INTO demo.Shop_Manufacturing_Purchase_Order ( id_order_temp , id_currency , cost_total_local_VAT_excl @@ -21319,7 +20527,7 @@ BEGIN ; UPDATE tmp_Manufacturing_Purchase_Order t_MPO - INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO + INNER JOIN demo.Shop_Manufacturing_Purchase_Order MPO ON t_MPO.id_order_temp = MPO.id_order_temp AND MPO.id_change_set = v_id_change_set SET @@ -21373,7 +20581,7 @@ BEGIN WHERE t_MPOPL.is_new = 1 ; - UPDATE partsltd_prod.Shop_Manufacturing_Purchase_Order MPO + UPDATE demo.Shop_Manufacturing_Purchase_Order MPO INNER JOIN tmp_Manufacturing_Purchase_Order t_MPO ON MPO.id_order = t_MPO.id_order AND t_MPO.is_new = 0 @@ -21388,7 +20596,7 @@ BEGIN , MPO.id_change_set = v_id_change_set ; - UPDATE partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL + UPDATE demo.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL INNER JOIN tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL ON MPOPL.id_link = t_MPOPL.id_link AND t_MPOPL.is_new = 0 @@ -21415,11 +20623,11 @@ BEGIN START TRANSACTION; DELETE MPO_T - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp MPO_T + FROM demo.Shop_Manufacturing_Purchase_Order_Temp MPO_T WHERE MPO_T.GUID = a_guid ; DELETE MPOPL_T - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp MPOPL_T + FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp MPOPL_T WHERE MPOPL_T.GUID = a_guid ; @@ -21428,7 +20636,7 @@ BEGIN # Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN @@ -21441,7 +20649,7 @@ BEGIN DROP TEMPORARY TABLE tmp_Msg_Error; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -21508,9 +20716,155 @@ DELETE FROM Shop_Manufacturing_Purchase_Order; --- File: 7416_p_shop_get_many_manufacturing_purchase_order.sql +-- Clear previous proc +DROP PROCEDURE IF EXISTS demo.p_shop_save_Manufacturing_purchase_order_test; +DELIMITER // +CREATE PROCEDURE p_shop_save_Manufacturing_purchase_order_test () +BEGIN + + DECLARE v_guid BINARY(36); + DECLARE v_time_start TIMESTAMP(6); + + SET v_time_start := CURRENT_TIMESTAMP(6); + SET v_guid := 'nips'; + + SELECT * + FROM demo.Shop_Manufacturing_Purchase_Order + ; + SELECT * + FROM demo.Shop_Manufacturing_Purchase_Order_Temp + ; + SELECT * + FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link + ; + SELECT * + FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp + ; + + START TRANSACTION; + + DELETE FROM demo.Shop_Manufacturing_Purchase_Order_Temp; + DELETE FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp; + + INSERT INTO demo.Shop_Manufacturing_Purchase_Order_Temp ( + id_order + , id_currency + , active + , GUID + ) + /* Test 1 - Insert */ + VALUES ( + -1 + , 1 + , 1 + , v_guid + ) + /* Test 2: Alter + SELECT + id_order + , id_currency + , active + , v_guid + FROM demo.Shop_Manufacturing_Purchase_Order + WHERE id_order = 6 + */ + ;-- SELECT * FROM demo.Shop_Unit_Measurement; + + INSERT INTO demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp ( + id_link + , id_order + , id_permutation + , id_unit_quantity + , quantity_used + , quantity_produced + , id_unit_latency_manufacture + , latency_manufacture + , display_order + , active + , GUID + ) + /* Test 1 - Insert */ + VALUES ( + -1 -- id_link + , -1 -- id_order + , 3 -- id_permutation + , 3 -- id_unit_quantity + , 3 -- quantity_used + , 0 -- quantity_produced + , 4 -- id_unit_latency_manufacture + , 4 -- latency_manufacture + , 1 -- display_order + , 1 -- active + , v_guid -- + ) + /* Test 2: Alter + SELECT + id_link + , id_order + , id_permutation + , id_unit_quantity + , quantity_used + , quantity_produced + , id_unit_latency_manufacture + , latency_manufacture + , display_order + , active + , v_guid + FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link + WHERE id_order = 6 + */ + ; + + COMMIT; + + SELECT * + FROM demo.Shop_Manufacturing_Purchase_Order_Temp + WHERE GUID = v_guid + ; + + SELECT * + FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp + WHERE GUID = v_guid + ; + + CALL demo.p_shop_save_Manufacturing_purchase_order ( + 'Test save Manufacturing Purchase Order' -- comment + , v_guid -- guid + , 1 -- id_user + , 1 -- debug + ); + + SELECT * + FROM demo.Shop_Manufacturing_Purchase_Order_Temp + ; + SELECT * + FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp + ; + SELECT * + FROM demo.Shop_Manufacturing_Purchase_Order + ; + SELECT * + FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link + ; + + CALL demo.p_debug_timing_reporting ( v_time_start ); +END // +DELIMITER ; + +/* +CALL demo.p_shop_save_Manufacturing_purchase_order_test (); + +DELETE FROM demo.Shop_Manufacturing_Purchase_Order_Temp; +DELETE FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp; + +DROP TABLE IF EXISTS tmp_Msg_Error; + +select * from demo.Shop_User; +Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'demo.t_MPOPL.name_error' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by +*/ + DROP PROCEDURE IF EXISTS p_shop_get_many_manufacturing_purchase_order; DELIMITER // @@ -21540,12 +20894,12 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_guid := UUID(); - SET v_id_access_level_view := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1); - SET v_code_type_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); - SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); - SET v_code_type_error_no_permission := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION'); - SET v_id_type_error_no_permission := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission); - SET v_ids_permission_manufacturing_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM partsltd_prod.Shop_Permission WHERE code IN ('STORE_MANUFACTURING_PURCHASE_ORDER', 'STORE_PRODUCT')); + SET v_id_access_level_view := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1); + SET v_code_type_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + SET v_code_type_error_no_permission := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION'); + SET v_id_type_error_no_permission := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission); + SET v_ids_permission_manufacturing_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM demo.Shop_Permission WHERE code IN ('STORE_MANUFACTURING_PURCHASE_ORDER', 'STORE_PRODUCT')); SET a_get_all_order := IFNULL(a_get_all_order, 1); SET a_get_inactive_order := IFNULL(a_get_inactive_order, 0); @@ -21598,7 +20952,7 @@ BEGIN -- Permutations IF v_has_filter_permutation = 1 THEN - CALL partsltd_prod.p_split(v_guid, a_ids_permutation, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_permutation, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -21607,21 +20961,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation + LEFT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation WHERE ISNULL(t_S.as_int) OR ISNULL(PP.id_permutation) @@ -21637,7 +20991,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive permutation IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation + LEFT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation WHERE ISNULL(t_S.as_int) OR ISNULL(PP.id_permutation) @@ -21650,7 +21004,7 @@ BEGIN SELECT PP.id_permutation FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation + RIGHT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation WHERE ( v_has_filter_permutation = 0 OR NOT ISNULL(t_S.as_int) @@ -21663,7 +21017,7 @@ BEGIN -- Manufacturing Purchase Orders IF v_has_filter_order = 1 THEN - CALL partsltd_prod.p_split(v_guid, a_ids_order, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_order, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -21672,21 +21026,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO ON t_S.as_int = MPO.id_order + LEFT JOIN demo.Shop_Manufacturing_Purchase_Order MPO ON t_S.as_int = MPO.id_order WHERE ISNULL(t_S.as_int) OR ISNULL(MPO.id_order) @@ -21705,7 +21059,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive Manufacturing Purchase Order IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO ON t_S.as_int = MPO.id_order + LEFT JOIN demo.Shop_Manufacturing_Purchase_Order MPO ON t_S.as_int = MPO.id_order WHERE ISNULL(t_S.as_int) OR ISNULL(MPO.id_order) @@ -21721,8 +21075,8 @@ BEGIN SELECT MPO.id_order FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO ON t_S.as_int = MPO.id_order - INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON MPO.id_order = MPOPL.id_order + RIGHT JOIN demo.Shop_Manufacturing_Purchase_Order MPO ON t_S.as_int = MPO.id_order + INNER JOIN demo.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON MPO.id_order = MPOPL.id_order INNER JOIN tmp_Permutation t_PP ON MPOPL.id_permutation = t_PP.id_permutation WHERE ( a_get_all_order = 1 @@ -21765,7 +21119,7 @@ BEGIN , '' -- ids_product , 0 -- a_debug ; - SELECT * FROM partsltd_prod.Shop_Calc_User_Temp; + SELECT * FROM demo.Shop_Calc_User_Temp; END IF; CALL p_shop_calc_user( @@ -21779,10 +21133,10 @@ BEGIN ); IF a_debug = 1 THEN - SELECT * FROM partsltd_prod.Shop_Calc_User_Temp; + SELECT * FROM demo.Shop_Calc_User_Temp; END IF; - IF NOT EXISTS (SELECT can_view FROM partsltd_prod.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = v_guid) THEN + IF NOT EXISTS (SELECT can_view FROM demo.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = v_guid) THEN DELETE FROM tmp_Msg_Error; INSERT INTO tmp_Msg_Error ( @@ -21793,7 +21147,7 @@ BEGIN VALUES ( v_id_type_error_no_permission , v_code_type_error_no_permission - , CONCAT('You do not have view permissions for ', IFNULL((SELECT IFNULL(name, '(No Permission Name)') FROM partsltd_prod.Shop_Permission WHERE FIND_IN_SET(id_permission, v_ids_permission_manufacturing_purchase_order) > 0 LIMIT 1), '(No Permissions Found)')) + , CONCAT('You do not have view permissions for ', IFNULL((SELECT IFNULL(name, '(No Permission Name)') FROM demo.Shop_Permission WHERE FIND_IN_SET(id_permission, v_ids_permission_manufacturing_purchase_order) > 0 LIMIT 1), '(No Permissions Found)')) ) ; END IF; @@ -21819,7 +21173,7 @@ BEGIN S.id_currency, t_S.active FROM tmp_Manufacturing t_S - INNER JOIN partsltd_prod.Shop_Manufacturing S + INNER JOIN demo.Shop_Manufacturing S ON t_S.id_manufacturing = S.id_manufacturing ; */ @@ -21842,8 +21196,8 @@ BEGIN , MPO.created_on ) AS name FROM tmp_Manufacturing_Purchase_Order t_MPO - INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO ON MPO.id_order = t_MPO.id_order - LEFT JOIN partsltd_prod.Shop_Currency C ON MPO.id_currency = C.id_currency + INNER JOIN demo.Shop_Manufacturing_Purchase_Order MPO ON MPO.id_order = t_MPO.id_order + LEFT JOIN demo.Shop_Currency C ON MPO.id_currency = C.id_currency ; # Manufacturing Purchase Order Product Link @@ -21867,15 +21221,15 @@ BEGIN , MPOPL.price_unit_local_VAT_incl , MPOPL.active FROM tmp_Manufacturing_Purchase_Order t_MPO - INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON t_MPO.id_order = MPOPL.id_order - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON MPOPL.id_permutation = PP.id_permutation - LEFT JOIN partsltd_prod.Shop_Product P ON PP.id_product = P.id_product + INNER JOIN demo.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON t_MPO.id_order = MPOPL.id_order + LEFT JOIN demo.Shop_Product_Permutation PP ON MPOPL.id_permutation = PP.id_permutation + LEFT JOIN demo.Shop_Product P ON PP.id_product = P.id_product ; # Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN @@ -21911,17 +21265,14 @@ CALL p_shop_get_many_manufacturing_purchase_order ( select * -from partsltd_prod.shop_manufacturing_purchase_order +from demo.shop_manufacturing_purchase_order ; select * -from partsltd_prod.shop_manufacturing_purchase_order_product_link +from demo.shop_manufacturing_purchase_order_product_link ; */ --- File: 7421_p_shop_save_customer.sql - - -- Clear previous proc @@ -22222,9 +21573,6 @@ DELETE FROM Shop_Customer */ --- File: 7422_p_shop_get_many_customer.sql - - /* @@ -22496,9 +21844,6 @@ FROM Shop_Customer; */ --- File: 7424_p_shop_save_customer_sales_order.sql - - -- Clear previous proc @@ -23056,9 +22401,6 @@ DELETE FROM Shop_Customer_Sales_Order; --- File: 7425_p_shop_get_many_customer_sales_order.sql - - -- Clear previous proc @@ -23835,9 +23177,6 @@ insert into shop_product_change_set (comment) */ --- File: 9000_populate.sql - - /* @@ -24469,12 +23808,12 @@ VALUES , (71, 2, '197g', '197 grams', 4, 197) ; -INSERT INTO partsltd_prod.Shop_Product_Change_Set ( +INSERT INTO demo.Shop_Product_Change_Set ( comment ) VALUES ( 'Update Variation Display Orders' ) ; -UPDATE partsltd_prod.Shop_Variation V +UPDATE demo.Shop_Variation V INNER JOIN ( SELECT V.id_variation, @@ -24499,8 +23838,8 @@ INNER JOIN ( , IFNULL(IFNULL(UM.symbol, UM.name_singular), '(No Unit of Measurement)') ) ) as new_order - FROM partsltd_prod.Shop_Variation V - INNER JOIN partsltd_prod.Shop_Unit_Measurement UM + FROM demo.Shop_Variation V + INNER JOIN demo.Shop_Unit_Measurement UM ON V.id_unit_measurement = UM.id_unit_measurement AND UM.active = 1 WHERE @@ -24508,7 +23847,7 @@ INNER JOIN ( ) AS RANKED ON V.id_variation = RANKED.id_variation JOIN ( SELECT CS.id_change_set - FROM partsltd_prod.Shop_Product_Change_Set CS + FROM demo.Shop_Product_Change_Set CS ORDER BY CS.id_change_set DESC LIMIT 1 ) AS CS @@ -24754,7 +24093,8 @@ INSERT INTO Shop_User_Role_Link ( id_user, id_role ) VALUES - (1, 1) + (1, 1), + (4, 1) ; # User Addresses @@ -24982,9 +24322,6 @@ CALL p_populate_database(); DROP PROCEDURE IF EXISTS p_populate_database; */ --- File: 9001_view.sql - - # Product Change Sets SELECT * FROM Shop_Product_Change_Set; @@ -25192,9 +24529,6 @@ SELECT * FROM Shop_Customer_Sales_Order_Product_Link_Audit; --- File: 9010_anal.sql - - /* SELECT TABLE_NAME @@ -25223,5 +24557,3 @@ WHERE */ - - diff --git a/static/MySQL/0001_destroy.sql b/static/MySQL/0001_destroy.sql index 512ca56d..fceb0a6c 100644 --- a/static/MySQL/0001_destroy.sql +++ b/static/MySQL/0001_destroy.sql @@ -1,4 +1,12 @@ + +CREATE DATABASE IF NOT EXISTS demo; + +GRANT ALL PRIVILEGES ON demo.* TO 'teddy'@'%'; +FLUSH PRIVILEGES; + +USE demo; + /* Clear Store DataBase */ diff --git a/static/MySQL/1000_tbl_Split_Temp.sql b/static/MySQL/1000_tbl_Split_Temp.sql index b7da37a5..dcab07c7 100644 --- a/static/MySQL/1000_tbl_Split_Temp.sql +++ b/static/MySQL/1000_tbl_Split_Temp.sql @@ -1,6 +1,6 @@ # Split Staging --- USE partsltd_prod; +-- USE demo; -- DROP TABLE IF EXISTS Split_Temp; SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Split_Temp'; diff --git a/static/MySQL/1001_tbl_Split_Key_Value_Pair_Csv_Temp.sql b/static/MySQL/1001_tbl_Split_Key_Value_Pair_Csv_Temp.sql index 75275214..254619fb 100644 --- a/static/MySQL/1001_tbl_Split_Key_Value_Pair_Csv_Temp.sql +++ b/static/MySQL/1001_tbl_Split_Key_Value_Pair_Csv_Temp.sql @@ -1,6 +1,6 @@ # Split Key Value Pair CSV Staging --- USE partsltd_prod; +-- USE demo; -- DROP TABLE IF EXISTS Split_Temp; SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Split_Key_Value_Pair_Csv_Temp'; diff --git a/static/MySQL/1106_tbl_Shop_Address.sql b/static/MySQL/1106_tbl_Shop_Address.sql index 3f58e177..7748abb5 100644 --- a/static/MySQL/1106_tbl_Shop_Address.sql +++ b/static/MySQL/1106_tbl_Shop_Address.sql @@ -9,12 +9,12 @@ CREATE TABLE Shop_Address ( , id_region INT NOT NULL , CONSTRAINT FK_Shop_Address_id_region FOREIGN KEY (id_region) - REFERENCES partsltd_prod.Shop_Region(id_region) + REFERENCES demo.Shop_Region(id_region) /* , id_supplier INT NULL , CONSTRAINT FK_Shop_Address_id_supplier FOREIGN KEY (id_supplier) - REFERENCES partsltd_prod.Shop_Supplier(id_supplier) + REFERENCES demo.Shop_Supplier(id_supplier) */ , postcode VARCHAR(20) NOT NULL , address_line_1 VARCHAR(256) NOT NULL @@ -27,5 +27,5 @@ CREATE TABLE Shop_Address ( , id_change_set INT , CONSTRAINT FK_Shop_Address_id_change_set FOREIGN KEY (id_change_set) - REFERENCES partsltd_prod.Shop_User_Change_Set(id_change_set) + REFERENCES demo.Shop_User_Change_Set(id_change_set) ); \ No newline at end of file diff --git a/static/MySQL/1206_tbl_Shop_Product_Permutation.sql b/static/MySQL/1206_tbl_Shop_Product_Permutation.sql index 13dbcd4b..6124af34 100644 --- a/static/MySQL/1206_tbl_Shop_Product_Permutation.sql +++ b/static/MySQL/1206_tbl_Shop_Product_Permutation.sql @@ -1,7 +1,7 @@ # Product Permutation --- DROP TABLE partsltd_prod.Shop_Product_Permutation; +-- DROP TABLE demo.Shop_Product_Permutation; SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Product_Permutation'; diff --git a/static/MySQL/1211_tbl_Shop_Variation_Type_Temp.sql b/static/MySQL/1211_tbl_Shop_Variation_Type_Temp.sql index e6d4c4a1..f4ace6db 100644 --- a/static/MySQL/1211_tbl_Shop_Variation_Type_Temp.sql +++ b/static/MySQL/1211_tbl_Shop_Variation_Type_Temp.sql @@ -1,7 +1,7 @@ # Variation Types Temp --- DROP TABLE partsltd_prod.Shop_Variation_Type_Temp; +-- DROP TABLE demo.Shop_Variation_Type_Temp; SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Variation_Type_Temp'; diff --git a/static/MySQL/1212_tbl_Shop_Variation.sql b/static/MySQL/1212_tbl_Shop_Variation.sql index f14ebb7e..50afed08 100644 --- a/static/MySQL/1212_tbl_Shop_Variation.sql +++ b/static/MySQL/1212_tbl_Shop_Variation.sql @@ -10,12 +10,12 @@ CREATE TABLE Shop_Variation ( , id_type INT NOT NULL , CONSTRAINT FK_Shop_Variation_id_type FOREIGN KEY (id_type) - REFERENCES partsltd_prod.Shop_Variation_Type(id_type) + REFERENCES demo.Shop_Variation_Type(id_type) ON UPDATE RESTRICT , id_unit_measurement INT NULL , CONSTRAINT FK_Shop_Unit_Measurement_id_unit_measurement FOREIGN KEY (id_unit_measurement) - REFERENCES partsltd_prod.Shop_Unit_Measurement(id_unit_measurement) + REFERENCES demo.Shop_Unit_Measurement(id_unit_measurement) , count_unit_measurement INT NULL , code VARCHAR(50) , name VARCHAR(255) @@ -26,5 +26,5 @@ CREATE TABLE Shop_Variation ( , id_change_set INT , CONSTRAINT FK_Shop_Variation_id_change_set FOREIGN KEY (id_change_set) - REFERENCES partsltd_prod.Shop_Product_Change_Set(id_change_set) + REFERENCES demo.Shop_Product_Change_Set(id_change_set) ); diff --git a/static/MySQL/1214_tbl_Shop_Variation_Temp.sql b/static/MySQL/1214_tbl_Shop_Variation_Temp.sql index 61a11bef..5eb21d0c 100644 --- a/static/MySQL/1214_tbl_Shop_Variation_Temp.sql +++ b/static/MySQL/1214_tbl_Shop_Variation_Temp.sql @@ -1,7 +1,7 @@ # Variations Temp --- DROP TABLE partsltd_prod.Shop_Variation_Temp; +-- DROP TABLE demo.Shop_Variation_Temp; SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Variation_Temp'; diff --git a/static/MySQL/1403_tbl_Shop_Supplier_Address.sql b/static/MySQL/1403_tbl_Shop_Supplier_Address.sql index 14d1284c..4eef0dd2 100644 --- a/static/MySQL/1403_tbl_Shop_Supplier_Address.sql +++ b/static/MySQL/1403_tbl_Shop_Supplier_Address.sql @@ -8,12 +8,12 @@ CREATE TABLE Shop_Supplier_Address ( , id_supplier INT NOT NULL , CONSTRAINT FK_Shop_Supplier_Address_id_supplier FOREIGN KEY (id_supplier) - REFERENCES partsltd_prod.Shop_Supplier(id_supplier) + REFERENCES demo.Shop_Supplier(id_supplier) ON UPDATE RESTRICT , id_region INT NOT NULL , CONSTRAINT FK_Shop_Supplier_Address_id_region FOREIGN KEY (id_region) - REFERENCES partsltd_prod.Shop_Region(id_region) + REFERENCES demo.Shop_Region(id_region) , postcode VARCHAR(20) NOT NULL , address_line_1 VARCHAR(256) NOT NULL , address_line_2 VARCHAR(256) NOT NULL @@ -25,5 +25,5 @@ CREATE TABLE Shop_Supplier_Address ( , id_change_set INT , CONSTRAINT FK_Shop_Supplier_Address_id_change_set FOREIGN KEY (id_change_set) - REFERENCES partsltd_prod.Shop_User_Change_Set(id_change_set) + REFERENCES demo.Shop_User_Change_Set(id_change_set) ); \ No newline at end of file diff --git a/static/MySQL/1421_tbl_Shop_Stock_Item.sql b/static/MySQL/1421_tbl_Shop_Stock_Item.sql index 3bebfe90..621d5d4d 100644 --- a/static/MySQL/1421_tbl_Shop_Stock_Item.sql +++ b/static/MySQL/1421_tbl_Shop_Stock_Item.sql @@ -11,29 +11,29 @@ CREATE TABLE IF NOT EXISTS Shop_Stock_Item ( , id_permutation INT NOT NULL , CONSTRAINT FK_Shop_Stock_Item_id_permutation FOREIGN KEY (id_permutation) - REFERENCES partsltd_prod.Shop_Product_Permutation(id_permutation) + REFERENCES demo.Shop_Product_Permutation(id_permutation) , id_supplier_purchase_order INT NULL , CONSTRAINT FK_Shop_Stock_Item_id_supplier_purchase_order FOREIGN KEY (id_supplier_purchase_order) - REFERENCES partsltd_prod.Shop_Supplier_Purchase_Order(id_order) + REFERENCES demo.Shop_Supplier_Purchase_Order(id_order) , id_manufacturing_purchase_order INT NULL , CONSTRAINT FK_Shop_Stock_Item_id_manufacturing_purchase_order FOREIGN KEY (id_manufacturing_purchase_order) - REFERENCES partsltd_prod.Shop_Manufacturing_Purchase_Order(id_order) + REFERENCES demo.Shop_Manufacturing_Purchase_Order(id_order) , id_customer_sales_order INT NULL , CONSTRAINT FK_Shop_Stock_Item_id_customer_sales_order FOREIGN KEY (id_customer_sales_order) - REFERENCES partsltd_prod.Shop_Customer_Sales_Order(id_order) + REFERENCES demo.Shop_Customer_Sales_Order(id_order) , date_purchased DATETIME NOT NULL , date_received DATETIME , id_location_storage INT NOT NULL , CONSTRAINT FK_Shop_Stock_Item_id_location_storage FOREIGN KEY (id_location_storage) - REFERENCES partsltd_prod.Shop_Storage_Location(id_location) + REFERENCES demo.Shop_Storage_Location(id_location) , id_currency_cost INT NOT NULL , CONSTRAINT FK_Shop_Stock_Item_id_currency FOREIGN KEY (id_currency_cost) - REFERENCES partsltd_prod.Shop_Currency(id_currency) + REFERENCES demo.Shop_Currency(id_currency) , cost_local_VAT_incl FLOAT , cost_local_VAT_excl FLOAT , is_sealed BIT NOT NULL DEFAULT 1 @@ -47,5 +47,5 @@ CREATE TABLE IF NOT EXISTS Shop_Stock_Item ( , id_change_set INT , CONSTRAINT FK_Shop_Stock_Item_id_change_set FOREIGN KEY (id_change_set) - REFERENCES partsltd_prod.Shop_Product_Change_Set(id_change_set) + REFERENCES demo.Shop_Product_Change_Set(id_change_set) ); diff --git a/static/MySQL/1427_tbl_Shop_Manufacturing_Purchase_Order_Product_Link.sql b/static/MySQL/1427_tbl_Shop_Manufacturing_Purchase_Order_Product_Link.sql index fc45c92a..0e482490 100644 --- a/static/MySQL/1427_tbl_Shop_Manufacturing_Purchase_Order_Product_Link.sql +++ b/static/MySQL/1427_tbl_Shop_Manufacturing_Purchase_Order_Product_Link.sql @@ -1,8 +1,8 @@ # Manufacturing Purchase Order Product Link --- DROP TABLE partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Audit --- DROP TABLE partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link +-- DROP TABLE demo.Shop_Manufacturing_Purchase_Order_Product_Link_Audit +-- DROP TABLE demo.Shop_Manufacturing_Purchase_Order_Product_Link SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Manufacturing_Purchase_Order_Product_Link'; @@ -11,11 +11,11 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order_Product_Link ( , id_order INT NOT NULL , CONSTRAINT FK_Manufacturing_Purchase_Order_Product_Link_id_order FOREIGN KEY (id_order) - REFERENCES partsltd_prod.Shop_Manufacturing_Purchase_Order(id_order) + REFERENCES demo.Shop_Manufacturing_Purchase_Order(id_order) , id_permutation INT NOT NULL , CONSTRAINT FK_Manufacturing_Purchase_Order_Product_Link_id_permutation FOREIGN KEY (id_permutation) - REFERENCES partsltd_prod.Shop_Product_Permutation(id_permutation) + REFERENCES demo.Shop_Product_Permutation(id_permutation) , cost_unit_local_VAT_excl FLOAT NULL , cost_unit_local_VAT_incl FLOAT NULL , price_unit_local_VAT_excl FLOAT NULL @@ -23,13 +23,13 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order_Product_Link ( , id_unit_quantity INT NOT NULL , CONSTRAINT FK_Manufacturing_Purchase_Order_id_unit_quantity FOREIGN KEY (id_unit_quantity) - REFERENCES partsltd_prod.Shop_Unit_Measurement(id_unit_measurement) + REFERENCES demo.Shop_Unit_Measurement(id_unit_measurement) , quantity_used FLOAT NULL , quantity_produced FLOAT NULL , id_unit_latency_manufacture INT NULL , CONSTRAINT FK_MPO_id_unit_latency_manufacture FOREIGN KEY (id_unit_latency_manufacture) - REFERENCES partsltd_prod.Shop_Unit_Measurement(id_unit_measurement) + REFERENCES demo.Shop_Unit_Measurement(id_unit_measurement) , latency_manufacture INT NULL , display_order INT NOT NULL , active BIT NOT NULL @@ -40,5 +40,5 @@ CREATE TABLE IF NOT EXISTS Shop_Manufacturing_Purchase_Order_Product_Link ( , id_change_set INT NULL , CONSTRAINT FK_Manufacturing_Purchase_Order_id_change_set FOREIGN KEY (id_change_set) - REFERENCES partsltd_prod.Shop_Sales_And_Purchasing_Change_Set(id_change_set) + REFERENCES demo.Shop_Sales_And_Purchasing_Change_Set(id_change_set) ); diff --git a/static/MySQL/1500_tbl_Shop_Calc_User_Temp.sql b/static/MySQL/1500_tbl_Shop_Calc_User_Temp.sql index d5db1528..43ac9a2a 100644 --- a/static/MySQL/1500_tbl_Shop_Calc_User_Temp.sql +++ b/static/MySQL/1500_tbl_Shop_Calc_User_Temp.sql @@ -1,6 +1,6 @@ # Calc User Staging --- USE partsltd_prod; +-- USE demo; -- DROP TABLE IF EXISTS Shop_Calc_User_Temp; SELECT CONCAT('WARNING: Table ', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Shop_Calc_User_Temp'; @@ -12,12 +12,12 @@ CREATE TABLE Shop_Calc_User_Temp ( id_permission_required INT NOT NULL, CONSTRAINT FK_Shop_Calc_User_Temp_id_permission_required FOREIGN KEY (id_permission_required) - REFERENCES partsltd_prod.Shop_Permission (id_permission), + REFERENCES demo.Shop_Permission (id_permission), priority_access_level_required INT NOT NULL, id_product INT NULL, CONSTRAINT FK_Shop_Calc_User_Temp_id_product FOREIGN KEY (id_product) - REFERENCES partsltd_prod.Shop_Product (id_product), + REFERENCES demo.Shop_Product (id_product), is_super_user BIT NULL, priority_access_level_user INT NULL, can_view BIT, diff --git a/static/MySQL/3415_tri_Shop_Manufacturing_Purchase_Order.sql b/static/MySQL/3415_tri_Shop_Manufacturing_Purchase_Order.sql index 96035278..6bfed33e 100644 --- a/static/MySQL/3415_tri_Shop_Manufacturing_Purchase_Order.sql +++ b/static/MySQL/3415_tri_Shop_Manufacturing_Purchase_Order.sql @@ -14,7 +14,7 @@ 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)); - IF NOT EXISTS (SELECT * FROM partsltd_prod.Shop_User U WHERE U.id_user = NEW.created_by LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM demo.Shop_User U WHERE U.id_user = NEW.created_by LIMIT 1) THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Valid created by User ID must be provided.'; END IF; diff --git a/static/MySQL/6000_p_debug_timing_reporting.sql b/static/MySQL/6000_p_debug_timing_reporting.sql index e96935ef..e003fa9d 100644 --- a/static/MySQL/6000_p_debug_timing_reporting.sql +++ b/static/MySQL/6000_p_debug_timing_reporting.sql @@ -1,4 +1,4 @@ --- USE partsltd_prod; +-- USE demo; -- Clear previous proc DROP PROCEDURE IF EXISTS p_debug_timing_reporting; @@ -37,7 +37,7 @@ END // DELIMITER ; /* -CALL partsltd_prod.p_debug_timing_reporting ( +CALL demo.p_debug_timing_reporting ( CURRENT_TIMESTAMP(6) ); */ \ No newline at end of file diff --git a/static/MySQL/6210_fn_shop_get_id_product_permutation_from_variation_csv_list.sql b/static/MySQL/6210_fn_shop_get_id_product_permutation_from_variation_csv_list.sql index bbf6cd10..2d1401de 100644 --- a/static/MySQL/6210_fn_shop_get_id_product_permutation_from_variation_csv_list.sql +++ b/static/MySQL/6210_fn_shop_get_id_product_permutation_from_variation_csv_list.sql @@ -46,9 +46,9 @@ BEGIN IF v_id_permutation IS NULL THEN -- First iteration: find initial v_id_permutations SELECT PPVL.id_permutation INTO v_id_permutation - FROM partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL - INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON PPVL.id_permutation = PP.id_permutation - INNER JOIN partsltd_prod.Shop_Variation PV ON PPVL.id_variation = PV.id_variation + FROM demo.Shop_Product_Permutation_Variation_Link PPVL + INNER JOIN demo.Shop_Product_Permutation PP ON PPVL.id_permutation = PP.id_permutation + INNER JOIN demo.Shop_Variation PV ON PPVL.id_variation = PV.id_variation WHERE 1=1 AND PP.id_product = a_id_product AND PPVL.id_variation = v_id_variation @@ -57,9 +57,9 @@ BEGIN ELSE -- Subsequent iterations: narrow down the v_id_permutation SELECT PPVL.id_permutation INTO v_id_permutation_tmp - FROM partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL - INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON PPVL.id_permutation = PP.id_permutation - INNER JOIN partsltd_prod.Shop_Variation PV ON PPVL.id_variation = PV.id_variation + FROM demo.Shop_Product_Permutation_Variation_Link PPVL + INNER JOIN demo.Shop_Product_Permutation PP ON PPVL.id_permutation = PP.id_permutation + INNER JOIN demo.Shop_Variation PV ON PPVL.id_variation = PV.id_variation WHERE 1=1 AND PP.id_product = a_id_product AND PPVL.v_id_permutation = v_id_permutation @@ -98,7 +98,7 @@ WHERE v_id_permutation IS NULL; */ /* -select * from partsltd_prod.Shop_Variation +select * from demo.Shop_Variation DROP PROCEDURE IF EXISTS p_shop_get_id_product_permutation_from_variation_csv_list; diff --git a/static/MySQL/6211_fn_shop_get_product_variations_from_id_csv_list.sql b/static/MySQL/6211_fn_shop_get_product_variations_from_id_csv_list.sql index b3c7e1d5..32ec8db9 100644 --- a/static/MySQL/6211_fn_shop_get_product_variations_from_id_csv_list.sql +++ b/static/MySQL/6211_fn_shop_get_product_variations_from_id_csv_list.sql @@ -55,7 +55,7 @@ BEGIN END IF; END WHILE; - INSERT INTO partsltd_prod.Shop_Product_Permutation_Variation_Link_Temp ( + INSERT INTO demo.Shop_Product_Permutation_Variation_Link_Temp ( id_link , id_permutation , id_variation @@ -71,7 +71,7 @@ BEGIN , 1 AS active , a_guid FROM tmp_Get_Variation_From_Csv_Variations t_V - LEFT JOIN partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL ON t_V.id_variation = PPVL.id_variation + LEFT JOIN demo.Shop_Product_Permutation_Variation_Link PPVL ON t_V.id_variation = PPVL.id_variation ; DROP TEMPORARY TABLE tmp_Get_Variation_From_Csv_Variations; @@ -85,18 +85,18 @@ DELIMITER ; /* SELECT - partsltd_prod.fn_shop_get_product_variations_from_id_csv_list( + demo.fn_shop_get_product_variations_from_id_csv_list( 1 -- a_id_permutation , '1:1' -- a_variation_csv , 'NIPPLENIPPLENIPPLENIPPLENIPPLENIPPLE' -- a_guid ) ; SELECT * -FROM partsltd_prod.Shop_Product_Permutation_Variation_Link_Temp +FROM demo.Shop_Product_Permutation_Variation_Link_Temp WHERE GUID = 'NIPPLENIPPLENIPPLENIPPLENIPPLENIPPLE' ; DELETE -FROM partsltd_prod.Shop_Product_Permutation_Variation_Link_Temp +FROM demo.Shop_Product_Permutation_Variation_Link_Temp WHERE GUID = 'NIPPLENIPPLENIPPLENIPPLENIPPLENIPPLE' ; */ diff --git a/static/MySQL/6212_fn_shop_get_product_permutation_variations_csv.sql b/static/MySQL/6212_fn_shop_get_product_permutation_variations_csv.sql index d1d34f5b..339e854d 100644 --- a/static/MySQL/6212_fn_shop_get_product_permutation_variations_csv.sql +++ b/static/MySQL/6212_fn_shop_get_product_permutation_variations_csv.sql @@ -23,11 +23,11 @@ BEGIN SEPARATOR ',' ) END - FROM partsltd_prod.Shop_Product_Permutation PP - LEFT JOIN partsltd_prod.Shop_Product P ON PP.id_product = P.id_product - LEFT JOIN partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL ON PP.id_permutation = PPVL.id_permutation - LEFT JOIN partsltd_prod.Shop_Variation PV ON PPVL.id_variation = PV.id_variation - LEFT JOIN partsltd_prod.Shop_Variation_Type PVT ON PV.id_type = PVT.id_type + FROM demo.Shop_Product_Permutation PP + LEFT JOIN demo.Shop_Product P ON PP.id_product = P.id_product + LEFT JOIN demo.Shop_Product_Permutation_Variation_Link PPVL ON PP.id_permutation = PPVL.id_permutation + LEFT JOIN demo.Shop_Variation PV ON PPVL.id_variation = PV.id_variation + LEFT JOIN demo.Shop_Variation_Type PVT ON PV.id_type = PVT.id_type WHERE PP.id_permutation = id_product_permutation GROUP BY P.id_product, P.has_variations, PVT.display_order, PVT.name, PV.display_order, PV.name LIMIT 1 diff --git a/static/MySQL/6500_p_shop_calc_user.sql b/static/MySQL/6500_p_shop_calc_user.sql index 5ae317da..ec75c985 100644 --- a/static/MySQL/6500_p_shop_calc_user.sql +++ b/static/MySQL/6500_p_shop_calc_user.sql @@ -43,7 +43,7 @@ BEGIN SET v_code_error_permission := (SELECT code FROM Shop_Msg_Error_Type WHERE id_type = 2); - CALL partsltd_prod.p_validate_guid ( a_guid ); + CALL demo.p_validate_guid ( a_guid ); SET a_ids_user := TRIM(IFNULL(a_ids_user, '')); SET a_get_inactive_user := IFNULL(a_get_inactive_user, 0); SET a_ids_permission := TRIM(IFNULL(a_ids_permission, '')); @@ -124,10 +124,10 @@ BEGIN */ SET a_ids_product = REPLACE(a_ids_product, '|', ','); SET v_has_filter_product = CASE WHEN a_ids_product = '' THEN 0 ELSE 1 END; - SET v_id_access_level_view = (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1); - SET v_priority_access_level_view = (SELECT priority FROM partsltd_prod.Shop_Access_Level WHERE id_access_level = v_id_access_level_view); - SET v_priority_access_level_edit = (SELECT priority FROM partsltd_prod.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); - SET v_priority_access_level_admin = (SELECT priority FROM partsltd_prod.Shop_Access_Level WHERE code = 'ADMIN' LIMIT 1); + SET v_id_access_level_view = (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1); + SET v_priority_access_level_view = (SELECT priority FROM demo.Shop_Access_Level WHERE id_access_level = v_id_access_level_view); + SET v_priority_access_level_edit = (SELECT priority FROM demo.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); + SET v_priority_access_level_admin = (SELECT priority FROM demo.Shop_Access_Level WHERE code = 'ADMIN' LIMIT 1); IF a_debug = 1 THEN SELECT @@ -139,7 +139,7 @@ BEGIN # Access levels IF v_has_filter_access_level THEN - CALL partsltd_prod.p_split(a_guid, a_ids_access_level, ',', a_debug); + CALL demo.p_split(a_guid, a_ids_access_level, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -155,13 +155,13 @@ BEGIN AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( a_guid ); + CALL demo.p_clear_split_temp( a_guid ); # Invalid IDs IF EXISTS ( SELECT t_S.substring FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Access_Level AL ON t_S.as_int = AL.id_access_level + LEFT JOIN demo.Shop_Access_Level AL ON t_S.as_int = AL.id_access_level WHERE ISNULL(t_S.as_int) OR ISNULL(AL.id_access_level) @@ -179,7 +179,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive access level IDs: ', GROUP_CONCAT(t_S.substring SEPARATOR ', ')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Access_Level AL ON t_S.as_int = AL.id_access_level + LEFT JOIN demo.Shop_Access_Level AL ON t_S.as_int = AL.id_access_level WHERE ISNULL(t_S.as_int) OR ISNULL(AL.id_access_level) @@ -190,7 +190,7 @@ BEGIN SET v_id_access_level := ( SELECT AL.id_access_level FROM tmp_Split t_S - INNER JOIN partsltd_prod.Shop_Access_Level AL + INNER JOIN demo.Shop_Access_Level AL ON t_S.as_int = AL.id_access_level AND AL.active ORDER BY AL.priority ASC @@ -199,14 +199,14 @@ BEGIN ELSE SET v_id_access_level = v_id_access_level_view; END IF; - SET v_priority_access_level := (SELECT priority FROM partsltd_prod.Shop_Access_Level WHERE id_access_level = v_id_access_level LIMIT 1); + SET v_priority_access_level := (SELECT priority FROM demo.Shop_Access_Level WHERE id_access_level = v_id_access_level LIMIT 1); END IF; END IF; DELETE FROM tmp_Split; -- Permission IDs IF v_has_filter_permission THEN - CALL partsltd_prod.p_split(a_guid, a_ids_permission, ',', a_debug); + CALL demo.p_split(a_guid, a_ids_permission, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -222,10 +222,10 @@ BEGIN AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( a_guid ); + CALL demo.p_clear_split_temp( a_guid ); # Invalid or inactive - IF EXISTS (SELECT PERM.id_permission FROM tmp_Split t_S LEFT JOIN partsltd_prod.Shop_Permission PERM ON t_S.as_int = PERM.id_permission WHERE ISNULL(t_S.as_int) OR ISNULL(PERM.id_permission) OR PERM.active = 0) THEN + IF EXISTS (SELECT PERM.id_permission FROM tmp_Split t_S LEFT JOIN demo.Shop_Permission PERM ON t_S.as_int = PERM.id_permission WHERE ISNULL(t_S.as_int) OR ISNULL(PERM.id_permission) OR PERM.active = 0) THEN INSERT INTO tmp_Msg_Error ( -- guid, id_type, @@ -238,7 +238,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive permission IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Permission PERM ON t_S.as_int = PERM.id_permission + LEFT JOIN demo.Shop_Permission PERM ON t_S.as_int = PERM.id_permission WHERE ISNULL(t_S.as_int) OR ISNULL(PERM.id_permission) @@ -247,8 +247,8 @@ BEGIN ELSE SET v_id_permission_required := ( SELECT PERM.id_permission - FROM partsltd_prod.Shop_Permission PERM - INNER JOIN partsltd_prod.Shop_Access_Level AL ON PERM.id_access_level_required = AL.id_access_level + FROM demo.Shop_Permission PERM + INNER JOIN demo.Shop_Access_Level AL ON PERM.id_access_level_required = AL.id_access_level ORDER BY AL.priority ASC LIMIT 1 ); @@ -257,7 +257,7 @@ BEGIN DELETE FROM tmp_Split; # Users - CALL partsltd_prod.p_split(a_guid, a_ids_user, ',', a_debug); + CALL demo.p_split(a_guid, a_ids_user, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -273,10 +273,10 @@ BEGIN AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( a_guid ); + CALL demo.p_clear_split_temp( a_guid ); # Invalid or inactive - IF EXISTS (SELECT U.id_user FROM tmp_Split t_S LEFT JOIN partsltd_prod.Shop_User U ON t_S.as_int = U.id_user WHERE ISNULL(t_S.as_int) OR ISNULL(U.id_user) OR (a_get_inactive_user = 0 AND U.active = 0)) THEN + IF EXISTS (SELECT U.id_user FROM tmp_Split t_S LEFT JOIN demo.Shop_User U ON t_S.as_int = U.id_user WHERE ISNULL(t_S.as_int) OR ISNULL(U.id_user) OR (a_get_inactive_user = 0 AND U.active = 0)) THEN INSERT INTO tmp_Msg_Error ( -- guid, id_type, @@ -289,7 +289,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive user IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_User U ON t_S.as_int = U.id_user + LEFT JOIN demo.Shop_User U ON t_S.as_int = U.id_user WHERE ISNULL(t_S.as_int) OR ISNULL(U.id_user) @@ -303,7 +303,7 @@ BEGIN SET a_ids_user = ( SELECT U.id_user FROM tmp_Split t_S - INNER JOIN partsltd_prod.Shop_User U ON t_S.as_int = U.id_user + INNER JOIN demo.Shop_User U ON t_S.as_int = U.id_user ); SET v_has_filter_user = ISNULL(a_ids_user); */ @@ -329,14 +329,14 @@ BEGIN -- , IFNULL(AL_U.id_access_level, v_id_access_level_view) AS id_access_level , IFNULL(MIN(AL_U.priority), v_priority_access_level_view) AS priority_access_level FROM tmp_Split t_S - INNER JOIN partsltd_prod.Shop_User U ON t_S.as_int = U.id_user - LEFT JOIN partsltd_prod.Shop_User_Role_Link URL + INNER JOIN demo.Shop_User U ON t_S.as_int = U.id_user + LEFT JOIN demo.Shop_User_Role_Link URL ON U.id_user = URL.id_user AND URL.active - LEFT JOIN partsltd_prod.Shop_Role_Permission_Link RPL + LEFT JOIN demo.Shop_Role_Permission_Link RPL ON URL.id_role = RPL.id_role AND RPL.active - LEFT JOIN partsltd_prod.Shop_Access_Level AL_U + LEFT JOIN demo.Shop_Access_Level AL_U ON RPL.id_access_level = AL_U.id_access_level AND AL_U.active GROUP BY U.id_user @@ -377,21 +377,21 @@ BEGIN , CASE WHEN MIN(IFNULL(AL_U.priority, 0)) = 0 THEN v_priority_access_level_view ELSE MIN(IFNULL(AL_U.priority, 0)) END AS priority_access_level_user , IFNULL(U.is_super_user, 0) AS is_super_user FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_User U + LEFT JOIN demo.Shop_User U ON t_S.as_int = U.id_user AND U.active - LEFT JOIN partsltd_prod.Shop_User_Role_Link URL + LEFT JOIN demo.Shop_User_Role_Link URL ON U.id_user = URL.id_user AND URL.active - LEFT JOIN partsltd_prod.Shop_Role_Permission_Link RPL + LEFT JOIN demo.Shop_Role_Permission_Link RPL ON URL.id_role = RPL.id_role AND RPL.active - LEFT JOIN partsltd_prod.Shop_Access_Level AL_U + LEFT JOIN demo.Shop_Access_Level AL_U ON RPL.id_access_level = AL_U.id_access_level AND AL_U.active * CROSS JOIN tmp_Product_Calc_User t_P - LEFT JOIN partsltd_prod.Shop_Access_Level AL_P + LEFT JOIN demo.Shop_Access_Level AL_P ON t_P.id_access_level_required = AL_P.id_access_level AND AL_P.active * @@ -405,7 +405,7 @@ BEGIN # Products IF v_has_filter_product = 1 THEN - CALL partsltd_prod.p_split(a_guid, a_ids_product, ',', a_debug); + CALL demo.p_split(a_guid, a_ids_product, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -421,10 +421,10 @@ BEGIN AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( a_guid ); + CALL demo.p_clear_split_temp( a_guid ); # Invalid product IDs - IF EXISTS (SELECT * FROM tmp_Split t_S LEFT JOIN partsltd_prod.Shop_Product P ON t_S.as_int = P.id_product WHERE ISNULL(t_S.as_int) OR ISNULL(P.id_product)) THEN + IF EXISTS (SELECT * FROM tmp_Split t_S LEFT JOIN demo.Shop_Product P ON t_S.as_int = P.id_product WHERE ISNULL(t_S.as_int) OR ISNULL(P.id_product)) THEN INSERT INTO tmp_Msg_Error ( -- guid, id_type, @@ -437,7 +437,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid Product IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product P ON t_S.as_int = P.id_product + LEFT JOIN demo.Shop_Product P ON t_S.as_int = P.id_product WHERE ISNULL(t_S.as_int) OR ISNULL(P.id_product) @@ -457,12 +457,12 @@ BEGIN CASE WHEN AL_P.priority < AL_C.priority THEN AL_P.id_access_level ELSE AL_C.id_access_level END AS id_access_level_required, CASE WHEN AL_P.priority < AL_C.priority THEN AL_P.priority ELSE AL_C.priority END AS priority_access_level_required FROM tmp_Split t_S - INNER JOIN partsltd_prod.Shop_Product P ON t_S.as_int = P.id_product # Shop_Product_Permutation PP - INNER JOIN partsltd_prod.Shop_Access_Level AL_P + INNER JOIN demo.Shop_Product P ON t_S.as_int = P.id_product # Shop_Product_Permutation PP + INNER JOIN demo.Shop_Access_Level AL_P ON P.id_access_level_required = AL_P.id_access_level AND AL_P.active - INNER JOIN partsltd_prod.Shop_Product_Category C ON P.id_category = C.id_category - INNER JOIN partsltd_prod.Shop_Access_Level AL_C + INNER JOIN demo.Shop_Product_Category C ON P.id_category = C.id_category + INNER JOIN demo.Shop_Access_Level AL_C ON C.id_access_level_required = AL_C.id_access_level AND AL_C.active ; @@ -470,9 +470,9 @@ BEGIN SET v_has_filter_product = EXISTS (SELECT * FROM tmp_Product_Calc_User); /* UPDATE tmp_Product_Calc_User t_P - INNER JOIN partsltd_prod.Shop_Product P ON t_P.id_product = P.id_product - INNER JOIN partsltd_prod.Shop_Product_Category PC ON P.id_category = PC.id_category - INNER JOIN partsltd_prod.Shop_Access_Level AL ON PC.id_access_level_required = AL.id_access_level + INNER JOIN demo.Shop_Product P ON t_P.id_product = P.id_product + INNER JOIN demo.Shop_Product_Category PC ON P.id_category = PC.id_category + INNER JOIN demo.Shop_Access_Level AL ON PC.id_access_level_required = AL.id_access_level SET t_P.id_access_level_required = CASE WHEN t_P.priority_access_level_required <= AL.priority THEN t_P.id_access_level_required ELSE AL.id_access_level END , t_P.priority_access_level_required = LEAST(t_P.priority_access_level_required, AL.priority) @@ -511,7 +511,7 @@ BEGIN , t_U.priority_access_level AS priority_access_level_user FROM tmp_User_Calc_User t_U CROSS JOIN tmp_Product_Calc_User t_P - LEFT JOIN partsltd_prod.Shop_Access_Level AL ON t_P.id_access_level_required = AL.id_access_level + LEFT JOIN demo.Shop_Access_Level AL ON t_P.id_access_level_required = AL.id_access_level ; -- Calculated fields @@ -525,7 +525,7 @@ BEGIN -- Export data to staging table IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN START TRANSACTION; - INSERT INTO partsltd_prod.Shop_Calc_User_Temp ( + INSERT INTO demo.Shop_Calc_User_Temp ( guid , id_user , id_permission_required @@ -558,8 +558,8 @@ BEGIN SELECT * FROM tmp_Calc_User; SELECT * FROM tmp_User_Calc_User; SELECT * FROM tmp_Product_Calc_User; - SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = a_guid; - CALL partsltd_prod.p_shop_clear_calc_user ( a_guid, a_debug ); + SELECT * FROM demo.Shop_Calc_User_Temp WHERE GUID = a_guid; + CALL demo.p_shop_clear_calc_user ( a_guid, a_debug ); END IF; -- Clean up @@ -571,14 +571,14 @@ BEGIN DELETE FROM tmp_Split; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting( v_time_start ); + CALL demo.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; /* -CALL partsltd_prod.p_shop_calc_user ( +CALL demo.p_shop_calc_user ( 'chips ' , 1 , 0 @@ -587,7 +587,7 @@ CALL partsltd_prod.p_shop_calc_user ( , '1,2,3,4,5' , 0 ); -CALL partsltd_prod.p_shop_calc_user ( +CALL demo.p_shop_calc_user ( 'chips ' , 1 , 0 @@ -596,14 +596,14 @@ CALL partsltd_prod.p_shop_calc_user ( , NULL , 0 ); -SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = 'chips '; -DELETE FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = 'chips '; +SELECT * FROM demo.Shop_Calc_User_Temp WHERE GUID = 'chips '; +DELETE FROM demo.Shop_Calc_User_Temp WHERE GUID = 'chips '; --- SELECT * FROM partsltd_prod.Shop_Calc_User_Temp; -SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = 'chips '; -CALL partsltd_prod.p_shop_clear_calc_user ( 'chips ', 0 ); --- SELECT * FROM partsltd_prod.Shop_Calc_User_Temp; +-- SELECT * FROM demo.Shop_Calc_User_Temp; +SELECT * FROM demo.Shop_Calc_User_Temp WHERE GUID = 'chips '; +CALL demo.p_shop_clear_calc_user ( 'chips ', 0 ); +-- SELECT * FROM demo.Shop_Calc_User_Temp; DROP TABLE IF EXISTS tmp_Msg_Error; CALL p_shop_calc_user( @@ -615,11 +615,11 @@ DROP TABLE IF EXISTS tmp_Msg_Error; , '' -- a_ids_product , 0 -- a_debug ); -SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = 'chips '; -CALL partsltd_prod.p_shop_clear_calc_user ( 'chips ', 0 ); +SELECT * FROM demo.Shop_Calc_User_Temp WHERE GUID = 'chips '; +CALL demo.p_shop_clear_calc_user ( 'chips ', 0 ); DROP TABLE IF EXISTS tmp_Msg_Error; -SELECT * FROM partsltd_prod.shop_user_role_link; -SELECT * FROM partsltd_prod.shop_role_permission_link; +SELECT * FROM demo.shop_user_role_link; +SELECT * FROM demo.shop_role_permission_link; */ diff --git a/static/MySQL/6501_p_shop_clear_calc_user.sql b/static/MySQL/6501_p_shop_clear_calc_user.sql index 3326cd8a..3779418e 100644 --- a/static/MySQL/6501_p_shop_clear_calc_user.sql +++ b/static/MySQL/6501_p_shop_clear_calc_user.sql @@ -25,7 +25,7 @@ BEGIN COMMIT; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting( v_time_start ); + CALL demo.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; diff --git a/static/MySQL/7200_p_shop_save_product_category.sql b/static/MySQL/7200_p_shop_save_product_category.sql index 3dbe034b..779aea52 100644 --- a/static/MySQL/7200_p_shop_save_product_category.sql +++ b/static/MySQL/7200_p_shop_save_product_category.sql @@ -47,7 +47,7 @@ BEGIN MET.id_type , @errno , @text - FROM partsltd_prod.Shop_Msg_Error_Type MET + FROM demo.Shop_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; SELECT * @@ -109,8 +109,8 @@ BEGIN , IFNULL(PC_T.display_order, PC.display_order) AS display_order , IFNULL(PC_T.name, IFNULL(PC.name, IFNULL(PC_T.code, IFNULL(PC.code, IFNULL(PC_T.id_category, '(No Product Category)'))))) AS name_error , CASE WHEN IFNULL(PC_T.id_category, 0) < 1 THEN 1 ELSE 0 END AS is_new - FROM partsltd_prod.Shop_Product_Category_Temp PC_T - LEFT JOIN partsltd_prod.Shop_Product_Category PC ON PC_T.id_category = PC.id_category + FROM demo.Shop_Product_Category_Temp PC_T + LEFT JOIN demo.Shop_Product_Category PC ON PC_T.id_category = PC.id_category WHERE PC_T.guid = a_guid ; @@ -165,7 +165,7 @@ BEGIN -- Permissions SET v_ids_product_permission := ( SELECT GROUP_CONCAT(P.id_product SEPARATOR ',') - FROM partsltd_prod.Shop_Product P + FROM demo.Shop_Product P INNER JOIN tmp_Category t_C ON P.id_category = t_C.id_category AND t_C.is_new = 0 @@ -185,7 +185,7 @@ BEGIN ; END IF; - CALL partsltd_prod.p_shop_calc_user( + CALL demo.p_shop_calc_user( a_guid , a_id_user , FALSE -- a_get_inactive_user @@ -196,8 +196,8 @@ BEGIN ); UPDATE tmp_Category t_C - INNER JOIN partsltd_prod.Shop_Product P ON t_C.id_category = P.id_product - INNER JOIN partsltd_prod.Shop_Calc_User_Temp UE_T + INNER JOIN demo.Shop_Product P ON t_C.id_category = P.id_product + INNER JOIN demo.Shop_Calc_User_Temp UE_T ON P.id_product = UE_T.id_product AND UE_T.GUID = a_guid SET @@ -223,7 +223,7 @@ BEGIN ; END IF; - IF EXISTS (SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE ISNULL(id_product) AND GUID = a_guid AND can_edit = 0 LIMIT 1) THEN + IF EXISTS (SELECT * FROM demo.Shop_Calc_User_Temp WHERE ISNULL(id_product) AND GUID = a_guid AND can_edit = 0 LIMIT 1) THEN DELETE t_ME FROM tmp_Msg_Error t_ME WHERE t_ME.id_type <> v_id_type_error_no_permission @@ -241,7 +241,7 @@ BEGIN ; END IF; - CALL partsltd_prod.p_shop_clear_calc_user( + CALL demo.p_shop_clear_calc_user( a_guid , 0 -- a_debug ); @@ -249,13 +249,13 @@ BEGIN IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN START TRANSACTION; - INSERT INTO partsltd_prod.Shop_Product_Change_Set ( comment ) + INSERT INTO demo.Shop_Product_Change_Set ( comment ) VALUES ( a_comment ) ; SET v_id_change_set := LAST_INSERT_ID(); - UPDATE partsltd_prod.Shop_Product_Category PC + UPDATE demo.Shop_Product_Category PC INNER JOIN tmp_Category t_C ON PC.id_category = t_C.id_category AND t_C.is_new = 0 @@ -270,7 +270,7 @@ BEGIN , PC.id_change_set = v_id_change_set ; - INSERT INTO partsltd_prod.Shop_Product_Category ( + INSERT INTO demo.Shop_Product_Category ( code , name , description @@ -301,7 +301,7 @@ BEGIN START TRANSACTION; - DELETE FROM partsltd_prod.Shop_Product_Category_Temp + DELETE FROM demo.Shop_Product_Category_Temp WHERE GUID = a_guid; COMMIT; @@ -309,7 +309,7 @@ BEGIN # Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN @@ -320,7 +320,7 @@ BEGIN DROP TEMPORARY TABLE tmp_Msg_Error; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -330,13 +330,13 @@ select * -- COUNT(*) -- delete -from partsltd_prod.Shop_Product_Category_Temp +from demo.Shop_Product_Category_Temp ; -CALL partsltd_prod.p_shop_save_product_category ( +CALL demo.p_shop_save_product_category ( 'nipples' - , (SELECT GUID FROM partsltd_prod.Shop_Product_Category_Temp ORDER BY id_temp DESC LIMIT 1) + , (SELECT GUID FROM demo.Shop_Product_Category_Temp ORDER BY id_temp DESC LIMIT 1) , 1 , 1 ); @@ -345,7 +345,7 @@ select * -- COUNT(*) -- delete -from partsltd_prod.Shop_Product_Category_Temp +from demo.Shop_Product_Category_Temp ; */ diff --git a/static/MySQL/7200_p_shop_save_product_category_test.sql b/static/MySQL/7200_p_shop_save_product_category_test.sql index dc02a329..4fe0920f 100644 --- a/static/MySQL/7200_p_shop_save_product_category_test.sql +++ b/static/MySQL/7200_p_shop_save_product_category_test.sql @@ -1,6 +1,6 @@ -- Clear previous proc -DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_product_category_test; +DROP PROCEDURE IF EXISTS demo.p_shop_save_product_category_test; DELIMITER // @@ -14,15 +14,15 @@ BEGIN SET v_guid := 'nips'; SELECT * - FROM partsltd_prod.Shop_Product_Category + FROM demo.Shop_Product_Category ; SELECT * - FROM partsltd_prod.Shop_Product_Category_Temp + FROM demo.Shop_Product_Category_Temp ; START TRANSACTION; - INSERT INTO partsltd_prod.Shop_Product_Category_Temp ( + INSERT INTO demo.Shop_Product_Category_Temp ( id_category , name , code @@ -44,11 +44,11 @@ BEGIN COMMIT; SELECT * - FROM partsltd_prod.Shop_Product_Category_Temp + FROM demo.Shop_Product_Category_Temp WHERE GUID = v_guid ; - CALL partsltd_prod.p_shop_save_product_category ( + CALL demo.p_shop_save_product_category ( 'Test save product category' -- comment , v_guid -- guid , 1 -- id_user @@ -56,20 +56,20 @@ BEGIN ); SELECT * - FROM partsltd_prod.Shop_Product_Category + FROM demo.Shop_Product_Category ; SELECT * - FROM partsltd_prod.Shop_Product_Category_Temp + FROM demo.Shop_Product_Category_Temp ; - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END // DELIMITER ; /* -CALL partsltd_prod.p_shop_save_product_category_test (); +CALL demo.p_shop_save_product_category_test (); -DELETE FROM partsltd_prod.Shop_Product_Category_Temp; +DELETE FROM demo.Shop_Product_Category_Temp; DROP TABLE IF EXISTS tmp_Msg_Error; */ diff --git a/static/MySQL/7203_p_shop_save_product.sql b/static/MySQL/7203_p_shop_save_product.sql index b1489e03..01e80b21 100644 --- a/static/MySQL/7203_p_shop_save_product.sql +++ b/static/MySQL/7203_p_shop_save_product.sql @@ -52,7 +52,7 @@ BEGIN SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; @@ -128,8 +128,8 @@ BEGIN , IFNULL(P_T.display_order, P.display_order) AS display_order , IFNULL(P_T.name, IFNULL(P.name, IFNULL(P_T.id_product, '(No Product)'))) AS name_error , CASE WHEN IFNULL(P_T.id_product, 0) < 1 THEN 1 ELSE 0 END AS is_new - FROM partsltd_prod.Shop_Product_Temp P_T - LEFT JOIN partsltd_prod.Shop_Product P ON P_T.id_product = P.id_product + FROM demo.Shop_Product_Temp P_T + LEFT JOIN demo.Shop_Product P ON P_T.id_product = P.id_product ; -- Validation @@ -220,7 +220,7 @@ BEGIN SET v_id_permission_product = (SELECT id_permission FROM Shop_Permission WHERE code = 'STORE_PRODUCT' LIMIT 1); - CALL partsltd_prod.p_shop_calc_user( + CALL demo.p_shop_calc_user( a_guid , a_id_user , FALSE -- get_inactive_users @@ -231,7 +231,7 @@ BEGIN ); UPDATE tmp_Product t_P - INNER JOIN partsltd_prod.Shop_Calc_User_Temp UE_T + INNER JOIN demo.Shop_Calc_User_Temp UE_T ON t_P.id_product = UE_T.id_product AND UE_T.GUID = a_guid SET @@ -257,7 +257,7 @@ BEGIN ; END IF; - IF EXISTS (SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE ISNULL(id_product) AND GUID = a_guid AND can_edit = 0) THEN + IF EXISTS (SELECT * FROM demo.Shop_Calc_User_Temp WHERE ISNULL(id_product) AND GUID = a_guid AND can_edit = 0) THEN DELETE t_ME FROM tmp_Msg_Error t_ME WHERE t_ME.id_type <> v_id_type_error_no_permission @@ -275,7 +275,7 @@ BEGIN ; END IF; - CALL partsltd_prod.p_shop_clear_calc_user( + CALL demo.p_shop_clear_calc_user( a_guid , 0 -- debug ); @@ -283,13 +283,13 @@ BEGIN IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN START TRANSACTION; - INSERT INTO partsltd_prod.Shop_Product_Change_Set ( comment ) + INSERT INTO demo.Shop_Product_Change_Set ( comment ) VALUES ( a_comment ) ; SET v_id_change_set := LAST_INSERT_ID(); - UPDATE partsltd_prod.Shop_Product P + UPDATE demo.Shop_Product P INNER JOIN tmp_Product t_P ON P.id_product = t_P.id_product SET P.id_category = t_P.id_category @@ -301,7 +301,7 @@ BEGIN , P.id_change_set = v_id_change_set ; - INSERT INTO partsltd_prod.Shop_Product ( + INSERT INTO demo.Shop_Product ( id_category , name , has_variations @@ -327,21 +327,21 @@ BEGIN START TRANSACTION; - DELETE FROM partsltd_prod.Shop_Product_Temp + DELETE FROM demo.Shop_Product_Temp WHERE GUID = a_guid; COMMIT; SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; DROP TEMPORARY TABLE IF EXISTS tmp_Product; DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; diff --git a/static/MySQL/7203_p_shop_save_product_test.sql b/static/MySQL/7203_p_shop_save_product_test.sql index e176ef9e..17672b66 100644 --- a/static/MySQL/7203_p_shop_save_product_test.sql +++ b/static/MySQL/7203_p_shop_save_product_test.sql @@ -1,7 +1,7 @@ -- Clear previous proc -DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_product_test; +DROP PROCEDURE IF EXISTS demo.p_shop_save_product_test; DELIMITER // @@ -15,15 +15,15 @@ BEGIN SET v_guid := 'nips'; SELECT * - FROM partsltd_prod.Shop_Product + FROM demo.Shop_Product ; SELECT * - FROM partsltd_prod.Shop_Product_Temp + FROM demo.Shop_Product_Temp ; START TRANSACTION; - INSERT INTO partsltd_prod.Shop_Product_Temp ( + INSERT INTO demo.Shop_Product_Temp ( id_product , id_category , name @@ -62,11 +62,11 @@ BEGIN COMMIT; SELECT * - FROM partsltd_prod.Shop_Product_Temp + FROM demo.Shop_Product_Temp WHERE GUID = v_guid ; - CALL partsltd_prod.p_shop_save_product ( + CALL demo.p_shop_save_product ( 'Test save product' -- comment , v_guid -- guid , 1 -- id_user @@ -74,20 +74,20 @@ BEGIN ); SELECT * - FROM partsltd_prod.Shop_Product + FROM demo.Shop_Product ; SELECT * - FROM partsltd_prod.Shop_Product_Temp + FROM demo.Shop_Product_Temp ; - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END // DELIMITER ; /* -CALL partsltd_prod.p_shop_save_product_test (); +CALL demo.p_shop_save_product_test (); -DELETE FROM partsltd_prod.Shop_Product_Temp; +DELETE FROM demo.Shop_Product_Temp; DROP TABLE IF EXISTS tmp_Msg_Error; */ \ No newline at end of file diff --git a/static/MySQL/7204_p_shop_calc_product_permutation.sql b/static/MySQL/7204_p_shop_calc_product_permutation.sql index 9c00413c..76607ae6 100644 --- a/static/MySQL/7204_p_shop_calc_product_permutation.sql +++ b/static/MySQL/7204_p_shop_calc_product_permutation.sql @@ -1,4 +1,4 @@ --- USE partsltd_prod; +-- USE demo; -- Clear previous proc DROP PROCEDURE IF EXISTS p_shop_calc_product_permutation; @@ -24,7 +24,7 @@ BEGIN PROCEDURE p_shop_calc_product_permutation Shared filtering for product permutations - select * FROM partsltd_prod.Shop_msg_error_type; + select * FROM demo.Shop_msg_error_type; */ DECLARE v_has_filter_product_category BIT; DECLARE v_has_filter_product BIT; @@ -40,7 +40,7 @@ BEGIN DECLARE v_code_type_error_bad_data VARCHAR(50); SET v_time_start := CURRENT_TIMESTAMP(6); - SET v_id_access_level_view := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW'); + SET v_id_access_level_view := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW'); SELECT MET.id_type @@ -48,7 +48,7 @@ BEGIN INTO v_id_type_error_bad_data , v_code_type_error_bad_data - FROM partsltd_prod.Shop_Msg_Error_Type MET + FROM demo.Shop_Msg_Error_Type MET WHERE MET.code = 'BAD_DATA' ; @@ -139,7 +139,7 @@ BEGIN -- Categories IF TRUE THEN -- NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN - CALL partsltd_prod.p_split(a_guid, a_ids_product_category, ',', a_debug); + CALL demo.p_split(a_guid, a_ids_product_category, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -148,21 +148,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = a_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( a_guid ); + CALL demo.p_clear_split_temp( a_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Category PC ON t_S.as_int = PC.id_category + LEFT JOIN demo.Shop_Product_Category PC ON t_S.as_int = PC.id_category WHERE ISNULL(t_S.as_int) OR ISNULL(PC.id_category) @@ -183,7 +183,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive category IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Category PC ON t_S.as_int = PC.id_category + LEFT JOIN demo.Shop_Product_Category PC ON t_S.as_int = PC.id_category WHERE ISNULL(t_S.as_int) OR ISNULL(PC.id_category) @@ -199,7 +199,7 @@ BEGIN SELECT PC.id_category FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Product_Category PC ON t_S.as_int = PC.id_category + RIGHT JOIN demo.Shop_Product_Category PC ON t_S.as_int = PC.id_category WHERE ( a_get_all_product_category = 1 OR ( @@ -219,7 +219,7 @@ BEGIN -- Products IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN - CALL partsltd_prod.p_split(a_guid, a_ids_product, ',', a_debug); + CALL demo.p_split(a_guid, a_ids_product, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -228,21 +228,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = a_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( a_guid ); + CALL demo.p_clear_split_temp( a_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product P ON t_S.as_int = P.id_product + LEFT JOIN demo.Shop_Product P ON t_S.as_int = P.id_product WHERE ISNULL(t_S.as_int) OR ISNULL(P.id_product) @@ -263,7 +263,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive product IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product P ON t_S.as_int = P.id_product + LEFT JOIN demo.Shop_Product P ON t_S.as_int = P.id_product WHERE ISNULL(t_S.as_int) OR ISNULL(P.id_product) @@ -281,7 +281,7 @@ BEGIN P.id_category , P.id_product FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Product P ON t_S.as_int = P.id_product + RIGHT JOIN demo.Shop_Product P ON t_S.as_int = P.id_product INNER JOIN tmp_Category_calc t_C ON P.id_category = t_C.id_category WHERE ( a_get_all_product = 1 @@ -302,7 +302,7 @@ BEGIN -- Permutations IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN - CALL partsltd_prod.p_split(a_guid, a_ids_product, ',', a_debug); + CALL demo.p_split(a_guid, a_ids_product, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -311,21 +311,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = a_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( a_guid ); + CALL demo.p_clear_split_temp( a_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation + LEFT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation WHERE ISNULL(t_S.as_int) OR ISNULL(PP.id_permutation) @@ -342,7 +342,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive permutation IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation + LEFT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation WHERE ISNULL(t_S.as_int) OR ISNULL(PP.id_permutation) @@ -362,7 +362,7 @@ BEGIN -- P.id_category, , PP.id_product FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation + RIGHT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation INNER JOIN tmp_Product_calc t_P ON PP.id_product = t_P.id_product WHERE 1=1 AND ( @@ -389,7 +389,7 @@ BEGIN -- Permissions IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS (SELECT * FROM tmp_Product_calc LIMIT 1) THEN - SET v_id_permission_product := (SELECT id_permission FROM partsltd_prod.Shop_Permission WHERE code = 'STORE_PRODUCT' LIMIT 1); + SET v_id_permission_product := (SELECT id_permission FROM demo.Shop_Permission WHERE code = 'STORE_PRODUCT' LIMIT 1); SET v_ids_product_permission := (SELECT GROUP_CONCAT(id_product SEPARATOR ',') FROM tmp_Product_calc WHERE NOT ISNULL(id_product)); IF a_debug = 1 THEN @@ -415,7 +415,7 @@ BEGIN UPDATE tmp_Product_calc t_P - INNER JOIN partsltd_prod.Shop_Calc_User_Temp UE_T + INNER JOIN demo.Shop_Calc_User_Temp UE_T ON t_P.id_product = UE_T.id_product AND UE_T.GUID = a_guid SET t_P.can_view = UE_T.can_view, @@ -425,7 +425,7 @@ BEGIN IF a_debug = 1 THEN SELECT * - FROM partsltd_prod.Shop_Calc_User_Temp + FROM demo.Shop_Calc_User_Temp WHERE GUID = a_guid ; END IF; @@ -506,7 +506,7 @@ BEGIN , MIN(IFNULL(t_P.can_admin, 0)) AS can_admin , a_guid FROM tmp_Category_calc t_C - INNER JOIN partsltd_prod.Shop_Product_Category PC ON t_C.id_category = PC.id_category + INNER JOIN demo.Shop_Product_Category PC ON t_C.id_category = PC.id_category LEFT JOIN tmp_Product_calc t_P ON t_C.id_category = t_P.id_product GROUP BY PC.id_category ; @@ -538,9 +538,9 @@ BEGIN , t_P.can_admin , a_guid FROM tmp_Product_calc t_P - INNER JOIN partsltd_prod.Shop_Product P ON t_P.id_product = P.id_product + INNER JOIN demo.Shop_Product P ON t_P.id_product = P.id_product INNER JOIN tmp_Category_calc t_C ON t_P.id_category = t_C.id_category - INNER JOIN partsltd_prod.Shop_Access_Level AL ON P.id_access_level_required = AL.id_access_level + INNER JOIN demo.Shop_Access_Level AL ON P.id_access_level_required = AL.id_access_level GROUP BY P.id_product, t_P.can_view, t_P.can_edit, t_P.can_admin ; @@ -599,15 +599,15 @@ BEGIN , IFNULL(t_P.can_admin, 0) AS can_admin , a_guid FROM tmp_Permutation_calc t_PP - INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON t_PP.id_permutation = PP.id_permutation + INNER JOIN demo.Shop_Product_Permutation PP ON t_PP.id_permutation = PP.id_permutation INNER JOIN tmp_Product_calc t_P ON t_PP.id_product = t_P.id_product - INNER JOIN partsltd_prod.Shop_Product P ON t_PP.id_product = P.id_product - INNER JOIN partsltd_prod.Shop_Product_Category PC ON P.id_category = PC.id_category - LEFT JOIN partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL ON PP.id_permutation = PPVL.id_permutation - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM_Q ON PP.id_unit_measurement_quantity = UM_Q.id_unit_measurement - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM_R ON PP.id_unit_measurement_interval_recurrence = UM_R.id_unit_measurement - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM_X ON PP.id_unit_measurement_interval_expiration_unsealed = UM_X.id_unit_measurement - INNER JOIN partsltd_prod.Shop_Currency C ON PP.id_currency_cost = C.id_currency + INNER JOIN demo.Shop_Product P ON t_PP.id_product = P.id_product + INNER JOIN demo.Shop_Product_Category PC ON P.id_category = PC.id_category + LEFT JOIN demo.Shop_Product_Permutation_Variation_Link PPVL ON PP.id_permutation = PPVL.id_permutation + LEFT JOIN demo.Shop_Unit_Measurement UM_Q ON PP.id_unit_measurement_quantity = UM_Q.id_unit_measurement + LEFT JOIN demo.Shop_Unit_Measurement UM_R ON PP.id_unit_measurement_interval_recurrence = UM_R.id_unit_measurement + LEFT JOIN demo.Shop_Unit_Measurement UM_X ON PP.id_unit_measurement_interval_expiration_unsealed = UM_X.id_unit_measurement + INNER JOIN demo.Shop_Currency C ON PP.id_currency_cost = C.id_currency GROUP BY PP.id_permutation, t_P.can_view, t_P.can_edit, t_P.can_admin ; @@ -625,7 +625,7 @@ BEGIN MET.name, MET.description FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type WHERE guid = a_guid ; @@ -637,15 +637,15 @@ BEGIN ; SELECT * - FROM partsltd_prod.Shop_Product_Category_Temp + FROM demo.Shop_Product_Category_Temp WHERE GUID = a_guid ; SELECT * - FROM partsltd_prod.Shop_Product_Temp + FROM demo.Shop_Product_Temp WHERE GUID = a_guid ; SELECT * - FROM partsltd_prod.Shop_Product_Permutation_Temp + FROM demo.Shop_Product_Permutation_Temp WHERE GUID = a_guid ; @@ -659,7 +659,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Category_calc; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -667,7 +667,7 @@ DELIMITER ; /* -CALL partsltd_prod.p_shop_calc_product_permutation ( +CALL demo.p_shop_calc_product_permutation ( 1 #'auth0|6582b95c895d09a70ba10fef', # a_id_user , 1 # a_get_all_product_category , 0 # a_get_inactive_product_category @@ -685,30 +685,30 @@ CALL partsltd_prod.p_shop_calc_product_permutation ( SELECT * - FROM partsltd_prod.Shop_Product_Category_Temp + FROM demo.Shop_Product_Category_Temp WHERE GUID = 'NIPS ' ; SELECT * - FROM partsltd_prod.Shop_Product_Temp + FROM demo.Shop_Product_Temp WHERE GUID = 'NIPS ' ; SELECT * - FROM partsltd_prod.Shop_Product_Permutation_Temp + FROM demo.Shop_Product_Permutation_Temp WHERE GUID = 'NIPS ' ; CALL p_shop_clear_calc_product_permutation ( 'NIPS ' ); SELECT * - FROM partsltd_prod.Shop_Product_Category_Temp + FROM demo.Shop_Product_Category_Temp WHERE GUID = 'NIPS ' ; SELECT * - FROM partsltd_prod.Shop_Product_Temp + FROM demo.Shop_Product_Temp WHERE GUID = 'NIPS ' ; SELECT * - FROM partsltd_prod.Shop_Product_Permutation_Temp + FROM demo.Shop_Product_Permutation_Temp WHERE GUID = 'NIPS ' ; diff --git a/static/MySQL/7204_p_shop_get_many_product.sql b/static/MySQL/7204_p_shop_get_many_product.sql index 7628143e..930c2c24 100644 --- a/static/MySQL/7204_p_shop_get_many_product.sql +++ b/static/MySQL/7204_p_shop_get_many_product.sql @@ -1,5 +1,5 @@ -- -USE partsltd_prod; +USE demo; -- Clear previous proc DROP PROCEDURE IF EXISTS p_shop_get_many_product; @@ -44,7 +44,7 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_guid := UUID(); - SET v_id_access_level_view := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW'); + SET v_id_access_level_view := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW'); -- Argument validation + default values @@ -146,7 +146,7 @@ BEGIN -- select v_has_filter_product, v_has_filter_permutation; - CALL partsltd_prod.p_shop_calc_product_permutation ( + CALL demo.p_shop_calc_product_permutation ( a_id_user , a_get_all_product_category , a_get_inactive_product_category @@ -175,8 +175,8 @@ BEGIN PC.active, */ , PC.display_order - FROM (SELECT * FROM partsltd_prod.Shop_Product_Category_Temp WHERE GUID = v_guid) PC_T - INNER JOIN partsltd_prod.Shop_Product_Category PC ON PC_T.id_category = PC.id_category + FROM (SELECT * FROM demo.Shop_Product_Category_Temp WHERE GUID = v_guid) PC_T + INNER JOIN demo.Shop_Product_Category PC ON PC_T.id_category = PC.id_category ; INSERT INTO tmp_Product ( @@ -192,8 +192,8 @@ BEGIN , P.id_category -- P.active, , P.display_order - FROM (SELECT * FROM partsltd_prod.Shop_Product_Temp WHERE GUID = v_guid) P_T - INNER JOIN partsltd_prod.Shop_Product P ON P.id_product = P_T.id_product + FROM (SELECT * FROM demo.Shop_Product_Temp WHERE GUID = v_guid) P_T + INNER JOIN demo.Shop_Product P ON P.id_product = P_T.id_product ; INSERT INTO tmp_Permutation ( @@ -209,13 +209,13 @@ BEGIN , PP.id_product -- , PP.active -- , RANK() OVER (ORDER BY VT.display_order, V.display_order) - FROM (SELECT * FROM partsltd_prod.Shop_Product_Permutation_Temp WHERE GUID = v_guid) PP_T - INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON PP_T.id_permutation = PP.id_permutation + FROM (SELECT * FROM demo.Shop_Product_Permutation_Temp WHERE GUID = v_guid) PP_T + INNER JOIN demo.Shop_Product_Permutation PP ON PP_T.id_permutation = PP.id_permutation ; # Product Images IF (v_has_filter_image = 1 AND NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1)) THEN - CALL partsltd_prod.p_split(v_guid, a_ids_image, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_image, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -224,21 +224,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Image I ON t_S.as_int = I.id_image + LEFT JOIN demo.Shop_Product_Image I ON t_S.as_int = I.id_image WHERE ISNULL(t_S.as_int) OR ISNULL(I.id_image) @@ -255,7 +255,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive image IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Image I ON t_S.as_int = I.id_image + LEFT JOIN demo.Shop_Product_Image I ON t_S.as_int = I.id_image WHERE ISNULL(t_S.as_int) OR ISNULL(I.id_image) @@ -270,7 +270,7 @@ BEGIN I.id_image , I.id_permutation FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Product_Image I ON t_S.as_int = I.id_image + RIGHT JOIN demo.Shop_Product_Image I ON t_S.as_int = I.id_image INNER JOIN tmp_Permutation t_PP ON I.id_permutation = t_PP.id_permutation WHERE ( @@ -303,9 +303,9 @@ BEGIN , MIN(t_P.can_edit) AS can_edit , MIN(t_P.can_admin) AS can_admin FROM tmp_Category t_C - INNER JOIN partsltd_prod.Shop_Product_Category PC ON t_C.id_category = PC.id_category + INNER JOIN demo.Shop_Product_Category PC ON t_C.id_category = PC.id_category LEFT JOIN tmp_Product t_P ON t_C.id_category = t_P.id_product - INNER JOIN partsltd_prod.Shop_Access_Level AL ON PC.id_access_level_required = AL.id_access_level + INNER JOIN demo.Shop_Access_Level AL ON PC.id_access_level_required = AL.id_access_level GROUP BY t_C.id_category -- , t_P.id_product ORDER BY PC.display_order ; @@ -324,9 +324,9 @@ BEGIN t_P.can_edit, t_P.can_admin FROM tmp_Product t_P - INNER JOIN partsltd_prod.Shop_Product P ON t_P.id_product = P.id_product + INNER JOIN demo.Shop_Product P ON t_P.id_product = P.id_product INNER JOIN tmp_Category t_C ON t_P.id_category = t_C.id_category - INNER JOIN partsltd_prod.Shop_Access_Level AL ON P.id_access_level_required = AL.id_access_level + INNER JOIN demo.Shop_Access_Level AL ON P.id_access_level_required = AL.id_access_level GROUP BY t_P.id_category, t_C.display_order, t_P.id_product, t_P.can_view, t_P.can_edit, t_P.can_admin ORDER BY t_C.display_order, P.display_order ; @@ -375,15 +375,15 @@ BEGIN IFNULL(t_P.can_edit, 0) AS can_edit, IFNULL(t_P.can_admin, 0) AS can_admin FROM tmp_Permutation t_PP - INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON t_PP.id_permutation = PP.id_permutation + INNER JOIN demo.Shop_Product_Permutation PP ON t_PP.id_permutation = PP.id_permutation INNER JOIN tmp_Product t_P ON t_PP.id_product = t_P.id_product - INNER JOIN partsltd_prod.Shop_Product P ON t_PP.id_product = P.id_product - INNER JOIN partsltd_prod.Shop_Product_Category PC ON P.id_category = PC.id_category - LEFT JOIN partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL ON PP.id_permutation = PPVL.id_permutation - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM_Q ON PP.id_unit_measurement_quantity = UM_Q.id_unit_measurement - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM_R ON PP.id_unit_measurement_interval_recurrence = UM_R.id_unit_measurement - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM_X ON PP.id_unit_measurement_interval_expiration_unsealed = UM_X.id_unit_measurement - INNER JOIN partsltd_prod.Shop_Currency C ON PP.id_currency_cost = C.id_currency + INNER JOIN demo.Shop_Product P ON t_PP.id_product = P.id_product + INNER JOIN demo.Shop_Product_Category PC ON P.id_category = PC.id_category + LEFT JOIN demo.Shop_Product_Permutation_Variation_Link PPVL ON PP.id_permutation = PPVL.id_permutation + LEFT JOIN demo.Shop_Unit_Measurement UM_Q ON PP.id_unit_measurement_quantity = UM_Q.id_unit_measurement + LEFT JOIN demo.Shop_Unit_Measurement UM_R ON PP.id_unit_measurement_interval_recurrence = UM_R.id_unit_measurement + LEFT JOIN demo.Shop_Unit_Measurement UM_X ON PP.id_unit_measurement_interval_expiration_unsealed = UM_X.id_unit_measurement + INNER JOIN demo.Shop_Currency C ON PP.id_currency_cost = C.id_currency GROUP BY PC.id_category, P.id_product, PP.id_permutation, t_P.can_view, t_P.can_edit, t_P.can_admin ORDER BY PC.display_order, P.display_order -- , t_PP.display_order ; @@ -404,9 +404,9 @@ BEGIN , t_P.id_product , t_PP.id_permutation , t_C.id_category - FROM partsltd_prod.Shop_Variation V - INNER JOIN partsltd_prod.Shop_Variation_Type VT ON V.id_type = VT.id_type - INNER JOIN partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL ON V.id_variation = PPVL.id_variation + FROM demo.Shop_Variation V + INNER JOIN demo.Shop_Variation_Type VT ON V.id_type = VT.id_type + INNER JOIN demo.Shop_Product_Permutation_Variation_Link PPVL ON V.id_variation = PPVL.id_variation INNER JOIN tmp_Permutation t_PP ON PPVL.id_permutation = t_PP.id_permutation INNER JOIN tmp_Product t_P ON t_PP.id_product = t_P.id_product INNER JOIN tmp_Category t_C ON t_P.id_category = t_C.id_category @@ -425,7 +425,7 @@ BEGIN I.active, I.display_order FROM tmp_Image t_I - INNER JOIN partsltd_prod.Shop_Product_Image I ON t_I.id_image = I.id_image + INNER JOIN demo.Shop_Product_Image I ON t_I.id_image = I.id_image INNER JOIN tmp_Permutation t_PP ON t_I.id_permutation = t_PP.id_permutation INNER JOIN tmp_Product t_P ON t_PP.id_product = t_P.id_product INNER JOIN tmp_Category t_C ON t_P.id_category = t_C.id_category @@ -444,7 +444,7 @@ BEGIN MET.description */ FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type -- WHERE guid = v_guid ; @@ -461,10 +461,10 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Permutation; DROP TEMPORARY TABLE IF EXISTS tmp_Product; - CALL partsltd_prod.p_shop_clear_calc_product_permutation ( v_guid ); + CALL demo.p_shop_clear_calc_product_permutation ( v_guid ); IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -472,7 +472,7 @@ DELIMITER ; /* -CALL partsltd_prod.p_shop_get_many_product ( +CALL demo.p_shop_get_many_product ( 1 #'auth0|6582b95c895d09a70ba10fef', # a_id_user , 1 # a_get_all_product_category , 0 # a_get_inactive_product_category @@ -490,21 +490,21 @@ CALL partsltd_prod.p_shop_get_many_product ( , 0 # a_debug ); -select * FROM partsltd_prod.Shop_Calc_User_Temp; +select * FROM demo.Shop_Calc_User_Temp; -select * FROM partsltd_prod.Shop_Product_Category; -select * FROM partsltd_prod.Shop_Product_Permutation; -select * FROM partsltd_prod.Shop_product_change_set; +select * FROM demo.Shop_Product_Category; +select * FROM demo.Shop_Product_Permutation; +select * FROM demo.Shop_product_change_set; insert into shop_product_change_set ( comment ) values ('set stock quantities below minimum for testing'); update shop_product_permutation set quantity_stock = 0, - id_change_set = (select id_change_set FROM partsltd_prod.Shop_product_change_set order by id_change_set desc limit 1) + id_change_set = (select id_change_set FROM demo.Shop_product_change_set order by id_change_set desc limit 1) where id_permutation < 5 DROP TABLE IF EXISTS tmp_Msg_Error; -select * FROM partsltd_prod.Shop_image; -select * FROM partsltd_prod.Shop_product; +select * FROM demo.Shop_image; +select * FROM demo.Shop_product; select * from TMP_MSG_ERROR; DROP TABLE TMP_MSG_ERROR; @@ -512,11 +512,11 @@ 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 partsltd_prod.Shop_product_change_set order by id_change_set desc limit 1) + id_change_set = (select id_change_set FROM demo.Shop_product_change_set order by id_change_set desc limit 1) where id_product = 1 -select * FROM partsltd_prod.Shop_Calc_User_Temp; +select * FROM demo.Shop_Calc_User_Temp; select distinct guid -- DELETE -FROM partsltd_prod.Shop_Calc_User_Temp; +FROM demo.Shop_Calc_User_Temp; */ diff --git a/static/MySQL/7206_p_shop_save_product_permutation.sql b/static/MySQL/7206_p_shop_save_product_permutation.sql index 720006ae..a55e500c 100644 --- a/static/MySQL/7206_p_shop_save_product_permutation.sql +++ b/static/MySQL/7206_p_shop_save_product_permutation.sql @@ -51,7 +51,7 @@ BEGIN MET.id_type , @errno , @text - FROM partsltd_prod.Shop_Msg_Error_Type MET + FROM demo.Shop_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' LIMIT 1 ; @@ -178,7 +178,7 @@ BEGIN ; SELECT - partsltd_prod.fn_shop_get_product_variations_from_id_csv_list( + demo.fn_shop_get_product_variations_from_id_csv_list( t_PP.id_permutation -- a_id_permutation , t_PP.csv_id_pairs_variation -- a_variation_csv , a_guid -- a_guid @@ -202,8 +202,8 @@ BEGIN , PPVL_T.display_order , NOT ISNULL(PPVL_T.id_link) AS active , IFNULL(PPVL_T.id_link, 0) < 1 AS is_new - FROM partsltd_prod.Shop_Product_Permutation_Variation_Link_Temp PPVL_T - LEFT JOIN partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL ON PPVL_T.id_link = PPVL.id_variation + FROM demo.Shop_Product_Permutation_Variation_Link_Temp PPVL_T + LEFT JOIN demo.Shop_Product_Permutation_Variation_Link PPVL ON PPVL_T.id_link = PPVL.id_variation LEFT JOIN tmp_Permutation t_PP ON PPVL_T.id_permutation = t_PP.id_permutation WHERE PPVL_T.GUID = a_guid ; @@ -432,7 +432,7 @@ BEGIN IF a_debug = 1 THEN SELECT * - FROM partsltd_prod.Shop_Calc_User_Temp + FROM demo.Shop_Calc_User_Temp WHERE GUID = a_guid ; SELECT * @@ -457,7 +457,7 @@ BEGIN ; END IF; - IF EXISTS (SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE ISNULL(id_product) AND GUID = a_guid AND can_edit = 0) THEN + IF EXISTS (SELECT * FROM demo.Shop_Calc_User_Temp WHERE ISNULL(id_product) AND GUID = a_guid AND can_edit = 0) THEN DELETE FROM tmp_Msg_Error WHERE id_type <> v_id_type_error_no_permission ; @@ -482,7 +482,7 @@ BEGIN IF a_debug = 1 THEN SELECT * - FROM partsltd_prod.Shop_Product_Permutation_Variation_Link_Temp + FROM demo.Shop_Product_Permutation_Variation_Link_Temp WHERE GUID = a_guid ; END IF; @@ -582,7 +582,7 @@ BEGIN ; UPDATE tmp_Permutation t_PP - INNER JOIN partsltd_prod.Shop_Product_Permutation PP + INNER JOIN demo.Shop_Product_Permutation PP ON t_PP.id_permutation_temp = PP.id_permutation_temp AND PP.id_change_set = v_id_change_set SET @@ -594,7 +594,7 @@ BEGIN t_PPVL.id_permutation = t_PP.id_permutation ; - INSERT INTO partsltd_prod.Shop_Product_Permutation_Variation_Link ( + INSERT INTO demo.Shop_Product_Permutation_Variation_Link ( id_permutation , id_variation , display_order @@ -611,7 +611,7 @@ BEGIN AND t_PPVL.active = 1 ; - UPDATE partsltd_prod.Shop_Product_Permutation_Variation_Link PPVL + UPDATE demo.Shop_Product_Permutation_Variation_Link PPVL INNER JOIN tmp_Permutation_Variation_Link t_PPVL ON PPVL.id_link = t_PPVL.id_link AND t_PPVL.is_new = 1 @@ -632,7 +632,7 @@ BEGIN WHERE GUID = a_guid ; - DELETE FROM partsltd_prod.Shop_Product_Permutation_Variation_Link_Temp + DELETE FROM demo.Shop_Product_Permutation_Variation_Link_Temp WHERE GUID = a_guid ; @@ -641,7 +641,7 @@ BEGIN # Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN @@ -654,7 +654,7 @@ BEGIN DROP TEMPORARY TABLE tmp_Msg_Error; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; diff --git a/static/MySQL/7206_p_shop_save_product_permutation_test.sql b/static/MySQL/7206_p_shop_save_product_permutation_test.sql index 0b9ff319..5a98a78d 100644 --- a/static/MySQL/7206_p_shop_save_product_permutation_test.sql +++ b/static/MySQL/7206_p_shop_save_product_permutation_test.sql @@ -1,7 +1,7 @@ -- Clear previous proc -DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_product_permutation_test; +DROP PROCEDURE IF EXISTS demo.p_shop_save_product_permutation_test; DELIMITER // @@ -15,18 +15,18 @@ BEGIN SET v_guid := 'nips'; SELECT * - FROM partsltd_prod.Shop_Product_Permutation + FROM demo.Shop_Product_Permutation ; SELECT * - FROM partsltd_prod.Shop_Product_Permutation_Variation_Link + FROM demo.Shop_Product_Permutation_Variation_Link ; SELECT * - FROM partsltd_prod.Shop_Product_Permutation_Temp + FROM demo.Shop_Product_Permutation_Temp ; START TRANSACTION; - INSERT INTO partsltd_prod.Shop_Product_Permutation_Temp ( + INSERT INTO demo.Shop_Product_Permutation_Temp ( id_permutation , id_product , csv_id_pairs_variation @@ -122,11 +122,11 @@ BEGIN COMMIT; SELECT * - FROM partsltd_prod.Shop_Product_Permutation_Temp + FROM demo.Shop_Product_Permutation_Temp WHERE GUID = v_guid ; - CALL partsltd_prod.p_shop_save_product_permutation ( + CALL demo.p_shop_save_product_permutation ( 'Test save product' -- comment , v_guid -- guid , 1 -- id_user @@ -134,38 +134,38 @@ BEGIN ); SELECT * - FROM partsltd_prod.Shop_Product_Permutation + FROM demo.Shop_Product_Permutation ; SELECT * - FROM partsltd_prod.Shop_Product_Permutation_Variation_Link + FROM demo.Shop_Product_Permutation_Variation_Link ; SELECT * - FROM partsltd_prod.Shop_Product_Permutation_Temp + FROM demo.Shop_Product_Permutation_Temp ; - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END // DELIMITER ; /* -CALL partsltd_prod.p_shop_save_product_permutation_test (); +CALL demo.p_shop_save_product_permutation_test (); -DELETE FROM partsltd_prod.Shop_Product_Permutation_Temp; +DELETE FROM demo.Shop_Product_Permutation_Temp; DROP TABLE IF EXISTS tmp_Msg_Error; -DELETE FROM partsltd_prod.Shop_Product_Permutation_Variation_Link +DELETE FROM demo.Shop_Product_Permutation_Variation_Link WHERE id_link >= 3 ; -DELETE FROM partsltd_prod.Shop_Product_Permutation +DELETE FROM demo.Shop_Product_Permutation WHERE id_permutation >= 7 ; SELECT * - FROM partsltd_prod.Shop_Product_Permutation_Variation_Link_Temp + FROM demo.Shop_Product_Permutation_Variation_Link_Temp ; SELECT * - FROM partsltd_prod.Shop_Variation + FROM demo.Shop_Variation ; */ \ No newline at end of file diff --git a/static/MySQL/7210_p_shop_get_many_product_variation.sql b/static/MySQL/7210_p_shop_get_many_product_variation.sql index 572e434c..0ab059fa 100644 --- a/static/MySQL/7210_p_shop_get_many_product_variation.sql +++ b/static/MySQL/7210_p_shop_get_many_product_variation.sql @@ -92,7 +92,7 @@ BEGIN -- select v_has_filter_product, v_has_filter_permutation; IF v_has_filter_variation_type THEN -- NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN - CALL partsltd_prod.p_split(v_guid, a_ids_variation_type, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_variation_type, ',', a_debug); DELETE FROM tmp_Split; @@ -103,21 +103,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Variation_Type VT ON t_S.as_int = VT.id_type + LEFT JOIN demo.Shop_Variation_Type VT ON t_S.as_int = VT.id_type WHERE ISNULL(t_S.as_int) OR ISNULL(VT.id_type) @@ -134,7 +134,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive variation type IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Variation_Type VT ON t_S.as_int = VT.id_type + LEFT JOIN demo.Shop_Variation_Type VT ON t_S.as_int = VT.id_type WHERE ISNULL(t_S.as_int) OR ISNULL(VT.id_type) @@ -146,7 +146,7 @@ BEGIN SELECT DISTINCT VT.id_type FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Variation_Type VT ON t_S.as_int = VT.id_type + RIGHT JOIN demo.Shop_Variation_Type VT ON t_S.as_int = VT.id_type WHERE ( a_get_all_variation_type = 1 @@ -166,7 +166,7 @@ BEGIN DELETE FROM tmp_Split; IF (v_has_filter_variation AND NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1)) THEN -- NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN - CALL partsltd_prod.p_split(v_guid, a_ids_variation, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_variation, ',', a_debug); DELETE FROM tmp_Split; @@ -177,21 +177,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Variation V ON t_S.as_int = V.id_variation + LEFT JOIN demo.Shop_Variation V ON t_S.as_int = V.id_variation WHERE ISNULL(t_S.as_int) OR ISNULL(V.id_variation) @@ -208,7 +208,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive variation IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Variation V ON t_S.as_int = V.id_variation + LEFT JOIN demo.Shop_Variation V ON t_S.as_int = V.id_variation WHERE ISNULL(t_S.as_int) OR ISNULL(VT.id_type) @@ -222,7 +222,7 @@ BEGIN DISTINCT V.id_variation , V.id_type FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Variation V ON t_S.as_int = V.id_variation + RIGHT JOIN demo.Shop_Variation V ON t_S.as_int = V.id_variation WHERE ( a_get_all_variation = 1 @@ -345,10 +345,10 @@ BEGIN DROP TABLE IF EXISTS tmp_Variation; DROP TABLE IF EXISTS tmp_Variation_Type; - CALL partsltd_prod.p_shop_clear_calc_product_permutation ( v_guid ); + CALL demo.p_shop_clear_calc_product_permutation ( v_guid ); IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; diff --git a/static/MySQL/7212_p_shop_save_product_variation.sql b/static/MySQL/7212_p_shop_save_product_variation.sql index 0d7523c9..68c2f842 100644 --- a/static/MySQL/7212_p_shop_save_product_variation.sql +++ b/static/MySQL/7212_p_shop_save_product_variation.sql @@ -52,7 +52,7 @@ BEGIN MET.id_type , @errno , @text - FROM partsltd_prod.Shop_Msg_Error_Type MET + FROM demo.Shop_Msg_Error_Type MET WHERE code = 'MYSQL_ERROR' LIMIT 1 ; @@ -62,14 +62,14 @@ BEGIN END; SET v_time_start := CURRENT_TIMESTAMP(6); - SET v_code_type_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); - SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); - SET v_code_type_error_no_permission := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1); - SET v_id_type_error_no_permission := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1); - SET v_code_type_error_warning := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'WARNING' LIMIT 1); - SET v_id_type_error_warning := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_warning LIMIT 1); - SET v_ids_permission_product_variation := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM partsltd_prod.Shop_Permission WHERE code IN ('STORE_PRODUCT')); - SET v_id_access_level_edit := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); + SET v_code_type_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + SET v_code_type_error_no_permission := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1); + SET v_id_type_error_no_permission := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1); + SET v_code_type_error_warning := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'WARNING' LIMIT 1); + SET v_id_type_error_warning := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_warning LIMIT 1); + SET v_ids_permission_product_variation := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM demo.Shop_Permission WHERE code IN ('STORE_PRODUCT')); + SET v_id_access_level_edit := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); CALL p_validate_guid ( a_guid ); SET a_comment := TRIM(IFNULL(a_comment, '')); @@ -157,8 +157,8 @@ BEGIN , IFNULL(VT_T.name, '(No Name)') ) END AS name_error - FROM partsltd_prod.Shop_Variation_Type_Temp VT_T - LEFT JOIN partsltd_prod.Shop_Variation_Type VT ON VT_T.id_type = VT.id_type + FROM demo.Shop_Variation_Type_Temp VT_T + LEFT JOIN demo.Shop_Variation_Type VT ON VT_T.id_type = VT.id_type WHERE VT_T.GUID = a_guid ; @@ -204,9 +204,9 @@ BEGIN , IFNULL(V_T.name, '(No Name)') ) END AS name_error - FROM partsltd_prod.Shop_Variation_Temp V_T - LEFT JOIN partsltd_prod.Shop_Variation V ON V_T.id_variation = V.id_variation - -- LEFT JOIN partsltd_prod.Shop_Variation_Type VT ON V_T.id_type = VT.id_type + FROM demo.Shop_Variation_Temp V_T + LEFT JOIN demo.Shop_Variation V ON V_T.id_variation = V.id_variation + -- LEFT JOIN demo.Shop_Variation_Type VT ON V_T.id_type = VT.id_type LEFT JOIN tmp_Variation_Type t_VT ON V_T.id_type = t_VT.id_type WHERE V_T.GUID = a_guid ; @@ -243,7 +243,7 @@ BEGIN , ' - ' , IFNULL(VT.name, '(No Name)') ) AS name_error - FROM partsltd_prod.Shop_Variation_Type VT + FROM demo.Shop_Variation_Type VT INNER JOIN tmp_Variation t_V ON VT.id_type = t_V.id_type AND t_V.has_type = 0 @@ -262,7 +262,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Variation_Type t_VT - INNER JOIN partsltd_prod.Shop_Variation_Type VT ON t_VT.id_type = VT.id_type + INNER JOIN demo.Shop_Variation_Type VT ON t_VT.id_type = VT.id_type WHERE 1=1 AND t_VT.id_type > 0 AND ISNULL(VT.id_type) @@ -281,7 +281,7 @@ BEGIN , GROUP_CONCAT(t_VT.name_error SEPARATOR ', ') ) AS msg FROM tmp_Variation_Type t_VT - INNER JOIN partsltd_prod.Shop_Variation_Type VT ON t_VT.id_type = VT.id_type + INNER JOIN demo.Shop_Variation_Type VT ON t_VT.id_type = VT.id_type WHERE 1=1 AND t_VT.id_type > 0 AND ISNULL(VT.id_type) @@ -292,7 +292,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Variation t_V - INNER JOIN partsltd_prod.Shop_Variation V ON t_V.id_variation = V.id_variation + INNER JOIN demo.Shop_Variation V ON t_V.id_variation = V.id_variation WHERE 1=1 AND t_V.id_variation > 0 AND ISNULL(V.id_variation) @@ -311,7 +311,7 @@ BEGIN , GROUP_CONCAT(t_V.name_error SEPARATOR ', ') ) AS msg FROM tmp_Variation t_V - INNER JOIN partsltd_prod.Shop_Variation V ON t_V.id_variation = V.id_variation + INNER JOIN demo.Shop_Variation V ON t_V.id_variation = V.id_variation WHERE 1=1 AND t_V.id_variation > 0 AND ISNULL(V.id_variation) @@ -354,7 +354,7 @@ BEGIN , 0 -- a_debug ; SELECT * - FROM partsltd_prod.Shop_Calc_User_Temp + FROM demo.Shop_Calc_User_Temp WHERE GUID = a_guid ; END IF; @@ -370,10 +370,10 @@ BEGIN ); IF a_debug = 1 THEN - SELECT * from partsltd_prod.Shop_Calc_User_Temp WHERE GUID = a_guid; + SELECT * from demo.Shop_Calc_User_Temp WHERE GUID = a_guid; END IF; - IF EXISTS (SELECT * FROM partsltd_prod.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = a_guid AND IFNULL(UE_T.can_view, 0) = 0) THEN + IF EXISTS (SELECT * FROM demo.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = a_guid AND IFNULL(UE_T.can_view, 0) = 0) THEN DELETE FROM tmp_Msg_Error; INSERT INTO tmp_Msg_Error ( @@ -388,15 +388,15 @@ BEGIN 'You do not have edit permissions for ' , GROUP_CONCAT(name SEPARATOR ', ') ) - FROM partsltd_prod.Shop_Permission PERM - INNER JOIN partsltd_prod.Shop_Calc_User_Temp UE_T + FROM demo.Shop_Permission PERM + INNER JOIN demo.Shop_Calc_User_Temp UE_T ON PERM.id_permission = UE_T.id_permission AND UE_T.GUID = a_guid AND IFNULL(UE_T.can_view, 0) = 0 ; END IF; - CALL partsltd_prod.p_shop_clear_calc_user( + CALL demo.p_shop_clear_calc_user( a_guid , 0 -- a_debug ); @@ -422,7 +422,7 @@ BEGIN SET v_id_change_set := LAST_INSERT_ID(); - INSERT INTO partsltd_prod.Shop_Variation_Type ( + INSERT INTO demo.Shop_Variation_Type ( id_type_temp , code , name @@ -446,7 +446,7 @@ BEGIN ; UPDATE tmp_Variation_Type t_VT - INNER JOIN partsltd_prod.Shop_Variation_Type VT ON t_VT.id_type_temp = VT.id_type_temp + INNER JOIN demo.Shop_Variation_Type VT ON t_VT.id_type_temp = VT.id_type_temp SET t_VT.id_type = VT.id_type WHERE t_VT.is_new = 1 @@ -460,7 +460,7 @@ BEGIN t_V.id_type = t_VT.id_type ; - INSERT INTO partsltd_prod.Shop_Variation ( + INSERT INTO demo.Shop_Variation ( id_type , code , name @@ -481,7 +481,7 @@ BEGIN WHERE t_V.is_new = 1 ; - UPDATE partsltd_prod.Shop_Variation_Type VT + UPDATE demo.Shop_Variation_Type VT INNER JOIN tmp_Variation_Type t_VT ON VT.id_type = t_VT.id_type AND t_VT.is_new = 0 @@ -497,7 +497,7 @@ BEGIN , VT.id_change_set = v_id_change_set ; - UPDATE partsltd_prod.Shop_Variation V + UPDATE demo.Shop_Variation V INNER JOIN tmp_Variation t_V ON V.id_variation = t_V.id_variation AND t_V.is_new = 0 @@ -517,11 +517,11 @@ BEGIN START TRANSACTION; DELETE VT_T - FROM partsltd_prod.Shop_Variation_Type_Temp VT_T + FROM demo.Shop_Variation_Type_Temp VT_T WHERE VT_T.GUID = a_guid ; DELETE V_T - FROM partsltd_prod.Shop_Variation_Temp V_T + FROM demo.Shop_Variation_Temp V_T WHERE V_T.GUID = a_guid ; @@ -530,7 +530,7 @@ BEGIN # Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN @@ -543,7 +543,7 @@ BEGIN DROP TEMPORARY TABLE tmp_Msg_Error; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; diff --git a/static/MySQL/7212_p_shop_save_product_variation_test.sql b/static/MySQL/7212_p_shop_save_product_variation_test.sql index baca42e2..ba563045 100644 --- a/static/MySQL/7212_p_shop_save_product_variation_test.sql +++ b/static/MySQL/7212_p_shop_save_product_variation_test.sql @@ -1,7 +1,7 @@ -- Clear previous proc -DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_product_variation_test; +DROP PROCEDURE IF EXISTS demo.p_shop_save_product_variation_test; DELIMITER // @@ -15,24 +15,24 @@ BEGIN SET v_guid := 'nips'; SELECT * - FROM partsltd_prod.Shop_Variation_Type + FROM demo.Shop_Variation_Type ; SELECT * - FROM partsltd_prod.Shop_Variation_Type_Temp + FROM demo.Shop_Variation_Type_Temp ; SELECT * - FROM partsltd_prod.Shop_Variation + FROM demo.Shop_Variation ; SELECT * - FROM partsltd_prod.Shop_Variation_Temp + FROM demo.Shop_Variation_Temp ; START TRANSACTION; - DELETE FROM partsltd_prod.Shop_Variation_Type_Temp; - DELETE FROM partsltd_prod.Shop_Variation_Temp; + DELETE FROM demo.Shop_Variation_Type_Temp; + DELETE FROM demo.Shop_Variation_Temp; - INSERT INTO partsltd_prod.Shop_Variation_Type_Temp ( + INSERT INTO demo.Shop_Variation_Type_Temp ( id_type -- , id_type_temp , code @@ -64,11 +64,11 @@ BEGIN , display_order , active , v_guid AS GUID - FROM partsltd_prod.Shop_Variation_Type + FROM demo.Shop_Variation_Type WHERE id_type = 1 ; - INSERT INTO partsltd_prod.Shop_Variation_Temp ( + INSERT INTO demo.Shop_Variation_Temp ( id_variation , id_type , code @@ -108,7 +108,7 @@ BEGIN , display_order , active , v_guid AS GUID - FROM partsltd_prod.Shop_Variation + FROM demo.Shop_Variation WHERE id_variation = 2 UNION SELECT @@ -124,16 +124,16 @@ BEGIN COMMIT; SELECT * - FROM partsltd_prod.Shop_Variation_Type_Temp + FROM demo.Shop_Variation_Type_Temp WHERE GUID = v_guid ; SELECT * - FROM partsltd_prod.Shop_Variation_Temp + FROM demo.Shop_Variation_Temp WHERE GUID = v_guid ; - CALL partsltd_prod.p_shop_save_product_variation ( + CALL demo.p_shop_save_product_variation ( 'Test save Variations - add + edit' -- comment , v_guid -- guid , 1 -- id_user @@ -141,27 +141,27 @@ BEGIN ); SELECT * - FROM partsltd_prod.Shop_Variation_Type_Temp + FROM demo.Shop_Variation_Type_Temp ; SELECT * - FROM partsltd_prod.Shop_Variation_Temp + FROM demo.Shop_Variation_Temp ; SELECT * - FROM partsltd_prod.Shop_Variation_Type + FROM demo.Shop_Variation_Type ; SELECT * - FROM partsltd_prod.Shop_Variation + FROM demo.Shop_Variation ; - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END // DELIMITER ; /* -CALL partsltd_prod.p_shop_save_product_variation_test (); +CALL demo.p_shop_save_product_variation_test (); -DELETE FROM partsltd_prod.Shop_Variation_Type_Temp; -DELETE FROM partsltd_prod.Shop_Variation_Temp; +DELETE FROM demo.Shop_Variation_Type_Temp; +DELETE FROM demo.Shop_Variation_Temp; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -181,6 +181,6 @@ delete where id_type = -1 ; -Cannot add or update a child row: a foreign key constraint fails (`partsltd_prod`.`shop_variation_type`, CONSTRAINT `FK_Shop_Variation_Type_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`)) +Cannot add or update a child row: a foreign key constraint fails (`demo`.`shop_variation_type`, CONSTRAINT `FK_Shop_Variation_Type_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`)) */ \ No newline at end of file diff --git a/static/MySQL/7219_p_shop_get_many_stock_item.sql b/static/MySQL/7219_p_shop_get_many_stock_item.sql index 6006fbd0..41707778 100644 --- a/static/MySQL/7219_p_shop_get_many_stock_item.sql +++ b/static/MySQL/7219_p_shop_get_many_stock_item.sql @@ -48,7 +48,7 @@ BEGIN DECLARE v_time_start TIMESTAMP(6); SET v_guid := UUID(); - SET v_id_access_level_view := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW'); + SET v_id_access_level_view := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW'); SET v_time_start := CURRENT_TIMESTAMP(6); @@ -174,7 +174,7 @@ BEGIN -- select v_has_filter_product, v_has_filter_permutation; - CALL partsltd_prod.p_shop_calc_product_permutation ( + CALL demo.p_shop_calc_product_permutation ( a_id_user , 1 -- a_get_all_product_category , 0 -- a_get_inactive_product_category @@ -198,8 +198,8 @@ BEGIN SELECT PC.id_category , PC.display_order - FROM (SELECT * FROM partsltd_prod.Shop_Product_Category_Temp WHERE GUID = v_guid) PC_T - INNER JOIN partsltd_prod.Shop_Product_Category PC ON PC_T.id_category = PC.id_category + FROM (SELECT * FROM demo.Shop_Product_Category_Temp WHERE GUID = v_guid) PC_T + INNER JOIN demo.Shop_Product_Category PC ON PC_T.id_category = PC.id_category ; INSERT INTO tmp_Product ( @@ -211,8 +211,8 @@ BEGIN P.id_product , P.id_category , P.display_order - FROM (SELECT * FROM partsltd_prod.Shop_Product_Temp WHERE GUID = v_guid) P_T - INNER JOIN partsltd_prod.Shop_Product P ON P.id_product = P_T.id_product + FROM (SELECT * FROM demo.Shop_Product_Temp WHERE GUID = v_guid) P_T + INNER JOIN demo.Shop_Product P ON P.id_product = P_T.id_product ; INSERT INTO tmp_Permutation ( @@ -228,12 +228,12 @@ BEGIN , PP_T.can_view , PP_T.can_edit , PP_T.can_admin - FROM (SELECT * FROM partsltd_prod.Shop_Product_Permutation_Temp WHERE GUID = v_guid) PP_T - INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON PP_T.id_permutation = PP.id_permutation + FROM (SELECT * FROM demo.Shop_Product_Permutation_Temp WHERE GUID = v_guid) PP_T + INNER JOIN demo.Shop_Product_Permutation PP ON PP_T.id_permutation = PP.id_permutation ; # Stock Items - CALL partsltd_prod.p_split(v_guid, a_ids_stock_item, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_stock_item, ',', a_debug); DELETE FROM tmp_Split; @@ -244,21 +244,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Stock_Item SI ON t_S.as_int = SI.id_stock + LEFT JOIN demo.Shop_Stock_Item SI ON t_S.as_int = SI.id_stock WHERE ISNULL(t_S.as_int) OR ISNULL(SI.id_stock) @@ -275,7 +275,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive stock item IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Stock_Item SI ON t_S.as_int = SI.id_stock + LEFT JOIN demo.Shop_Stock_Item SI ON t_S.as_int = SI.id_stock WHERE ISNULL(t_S.as_int) OR ISNULL(SI.id_stock) @@ -293,7 +293,7 @@ BEGIN , t_PP.id_product , SI.id_location_storage FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Stock_Item SI ON t_S.as_int = SI.id_stock + RIGHT JOIN demo.Shop_Stock_Item SI ON t_S.as_int = SI.id_stock INNER JOIN tmp_Permutation t_PP ON SI.id_permutation = t_PP.id_permutation WHERE ( @@ -343,7 +343,7 @@ BEGIN -- Storage Regions IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN - CALL partsltd_prod.p_split(v_guid, a_ids_region_storage, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_region_storage, ',', a_debug); DELETE FROM tmp_Split; @@ -354,21 +354,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Region R ON t_S.as_int = R.id_region + LEFT JOIN demo.Shop_Region R ON t_S.as_int = R.id_region WHERE ISNULL(t_S.as_int) OR ISNULL(R.id_region) @@ -385,7 +385,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive region IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Region R ON t_S.as_int = R.id_region + LEFT JOIN demo.Shop_Region R ON t_S.as_int = R.id_region WHERE ISNULL(t_S.as_int) OR ISNULL(R.id_region) @@ -399,7 +399,7 @@ BEGIN R.id_region AS id_region_parent, NULL AS id_region_child FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Region R + RIGHT JOIN demo.Shop_Region R ON t_S.as_int = R.id_region AND ( a_get_all_region_storage = 1 @@ -414,15 +414,15 @@ BEGIN A.id_region FROM tmp_Stock_Item t_SI -- INNER JOIN tmp_Stock_Item t_SI ON SL.id_location = t_SI.id_location_storage - INNER JOIN partsltd_prod.Shop_Storage_Location SL ON t_SI.id_location_storage = SL.id_location - INNER JOIN partsltd_prod.Shop_Plant P ON SL.id_plant = P.id_plant - INNER JOIN partsltd_prod.Shop_Address A ON P.id_address = A.id_address + INNER JOIN demo.Shop_Storage_Location SL ON t_SI.id_location_storage = SL.id_location + INNER JOIN demo.Shop_Plant P ON SL.id_plant = P.id_plant + INNER JOIN demo.Shop_Address A ON P.id_address = A.id_address ) A_SI ON R.id_region = A_SI.id_region UNION SELECT RB.id_region_parent, RB.id_region_child - FROM partsltd_prod.Shop_Region_Branch RB + FROM demo.Shop_Region_Branch RB INNER JOIN Recursive_CTE_Region_Storage r_RS ON RB.id_region_parent = r_RS.id_region_child AND ( @@ -432,7 +432,7 @@ BEGIN ) SELECT DISTINCT R.id_region - FROM partsltd_prod.Shop_Region R + FROM demo.Shop_Region R INNER JOIN Recursive_CTE_Region_Storage r_RS ON R.id_region = r_RS.id_region_parent OR R.id_region = r_RS.id_region_child @@ -451,14 +451,14 @@ BEGIN DISTINCT P.id_plant , A.id_region FROM tmp_Stock_Item t_SI - INNER JOIN partsltd_prod.Shop_Storage_Location SL ON t_SI.id_location_storage = SL.id_location - INNER JOIN partsltd_prod.Shop_Plant P ON SL.id_plant = P.id_plant - INNER JOIN partsltd_prod.Shop_Address A ON P.id_address = A.id_address + INNER JOIN demo.Shop_Storage_Location SL ON t_SI.id_location_storage = SL.id_location + INNER JOIN demo.Shop_Plant P ON SL.id_plant = P.id_plant + INNER JOIN demo.Shop_Address A ON P.id_address = A.id_address ; -- Storage Locations IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN - CALL partsltd_prod.p_split(v_guid, a_ids_location_storage, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_location_storage, ',', a_debug); DELETE FROM tmp_Split; @@ -469,21 +469,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Region R ON t_S.as_int = R.id_region + LEFT JOIN demo.Shop_Region R ON t_S.as_int = R.id_region WHERE ISNULL(t_S.as_int) OR ISNULL(R.id_region) @@ -500,7 +500,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive region IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Region R ON t_S.as_int = R.id_region + LEFT JOIN demo.Shop_Region R ON t_S.as_int = R.id_region WHERE ISNULL(t_S.as_int) OR ISNULL(R.id_region) @@ -515,7 +515,7 @@ BEGIN SL.id_location AS id_location_parent, NULL AS id_location_child FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Storage_Location SL + RIGHT JOIN demo.Shop_Storage_Location SL ON t_S.as_int = SL.id_location AND ( a_get_all_location_storage = 1 @@ -530,7 +530,7 @@ BEGIN SELECT SLB.id_location_parent, SLB.id_location_child - FROM partsltd_prod.Shop_Storage_Location_Branch SLB + FROM demo.Shop_Storage_Location_Branch SLB INNER JOIN Recursive_CTE_Location_Storage r_LS ON SLB.id_location_parent = r_LS.id_location_child AND ( @@ -541,7 +541,7 @@ BEGIN SELECT DISTINCT SL.id_location , SL.id_plant - FROM partsltd_prod.Shop_Storage_Location SL + FROM demo.Shop_Storage_Location SL INNER JOIN Recursive_CTE_Location_Storage r_LS ON SL.id_location = r_LS.id_location_parent OR SL.id_location = r_LS.id_location_child @@ -554,12 +554,12 @@ BEGIN /* -- Permissions IF EXISTS (SELECT * FROM tmp_Stock_Item LIMIT 1) THEN - SET v_id_permission_product := (SELECT id_permission FROM partsltd_prod.Shop_Permission WHERE code = 'STORE_PRODUCT' LIMIT 1); + SET v_id_permission_product := (SELECT id_permission FROM demo.Shop_Permission WHERE code = 'STORE_PRODUCT' LIMIT 1); SET v_ids_product_permission := (SELECT GROUP_CONCAT(id_product SEPARATOR ',') FROM tmp_Permutation WHERE NOT ISNULL(id_product)); -- SET v_ids_permutation_permission := (SELECT GROUP_CONCAT(id_permutation SEPARATOR ',') FROM tmp_Shop_Product WHERE NOT ISNULL(id_permutation)); -- SELECT v_guid, a_id_user, false, v_id_permission_product, v_id_access_level_view, v_ids_product_permission; - -- select * FROM partsltd_prod.Shop_Calc_User_Temp; + -- select * FROM demo.Shop_Calc_User_Temp; CALL p_shop_calc_user( v_guid @@ -571,10 +571,10 @@ BEGIN , 0 -- a_debug ); - -- select * FROM partsltd_prod.Shop_Calc_User_Temp; + -- select * FROM demo.Shop_Calc_User_Temp; UPDATE tmp_Stock_Item t_SI - INNER JOIN partsltd_prod.Shop_Calc_User_Temp UE_T + INNER JOIN demo.Shop_Calc_User_Temp UE_T ON t_SI.id_product = UE_T.id_product AND UE_T.GUID = v_guid SET t_SI.can_view = UE_T.can_view, @@ -585,7 +585,7 @@ BEGIN DELETE t_SI FROM tmp_Stock_Item t_SI / * - LEFT JOIN partsltd_prod.Shop_Calc_User_Temp UE_T + LEFT JOIN demo.Shop_Calc_User_Temp UE_T ON t_SI.id_product = UE_T.id_product AND UE_T.GUID = v_guid * / @@ -593,8 +593,8 @@ BEGIN / * FIND_IN_SET(t_SI.id_product, ( SELECT GROUP_CONCAT(UET.id_product SEPARATOR ',') - FROM partsltd_prod.Shop_Calc_User_Temp UET) - ) = 0 # id_product NOT LIKE CONCAT('%', (SELECT GROUP_CONCAT(id_product SEPARATOR '|') FROM partsltd_prod.Shop_Calc_User_Temp), '%'); + FROM demo.Shop_Calc_User_Temp UET) + ) = 0 # id_product NOT LIKE CONCAT('%', (SELECT GROUP_CONCAT(id_product SEPARATOR '|') FROM demo.Shop_Calc_User_Temp), '%'); * / / * ISNULL(UE_T.id_product) @@ -602,7 +602,7 @@ BEGIN * / t_SI.id_product NOT IN ( SELECT id_product - FROM partsltd_prod.Shop_Calc_User_Temp UE_T + FROM demo.Shop_Calc_User_Temp UE_T WHERE GUID = v_guid AND IFNULL(can_view, 0) = 1 @@ -611,14 +611,14 @@ BEGIN # CALL p_shop_clear_calc_user(v_guid); # DROP TABLE IF EXISTS Shop_Calc_User_Temp; - DELETE FROM partsltd_prod.Shop_Calc_User_Temp + DELETE FROM demo.Shop_Calc_User_Temp WHERE GUID = v_guid ; END IF; */ /* - select * FROM partsltd_prod.Shop_stock_item; + select * FROM demo.Shop_stock_item; select * from tmp_Stock_Item; select * from tmp_Permutation; select * from tmp_Location_Storage; @@ -665,16 +665,16 @@ BEGIN t_PP.can_edit, t_PP.can_admin FROM tmp_Stock_Item t_SI - INNER JOIN partsltd_prod.Shop_Stock_Item SI ON t_SI.id_stock = SI.id_stock + INNER JOIN demo.Shop_Stock_Item SI ON t_SI.id_stock = SI.id_stock INNER JOIN tmp_Permutation t_PP ON t_SI.id_permutation = t_PP.id_permutation - INNER JOIN partsltd_prod.Shop_Product P ON t_PP.id_product = P.id_product + INNER JOIN demo.Shop_Product P ON t_PP.id_product = P.id_product INNER JOIN tmp_Location_Storage t_LS ON t_SI.id_location_storage = t_LS.id_location INNER JOIN tmp_Plant_Storage t_PS ON t_LS.id_plant = t_PS.id_plant - INNER JOIN partsltd_prod.Shop_Plant PLANT ON t_PS.id_plant = PLANT.id_plant - INNER JOIN partsltd_prod.Shop_Address A ON PLANT.id_address = A.id_address + INNER JOIN demo.Shop_Plant PLANT ON t_PS.id_plant = PLANT.id_plant + INNER JOIN demo.Shop_Address A ON PLANT.id_address = A.id_address INNER JOIN tmp_Region_Storage t_RS ON A.id_region = t_RS.id_region - INNER JOIN partsltd_prod.Shop_Storage_Location SL ON t_LS.id_location = SL.id_location - INNER JOIN partsltd_prod.Shop_Currency CURRENCY ON SI.id_currency_cost = CURRENCY.id_currency + INNER JOIN demo.Shop_Storage_Location SL ON t_LS.id_location = SL.id_location + INNER JOIN demo.Shop_Currency CURRENCY ON SI.id_currency_cost = CURRENCY.id_currency WHERE IFNULL(t_PP.can_view, 0) = 1 ; @@ -689,7 +689,7 @@ BEGIN MET.name, MET.description FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type -- WHERE guid = v_guid ; @@ -719,10 +719,10 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Permutation; -- DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; - CALL partsltd_prod.p_shop_clear_calc_product_permutation ( v_guid ); + CALL demo.p_shop_clear_calc_product_permutation ( v_guid ); IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -761,8 +761,8 @@ CALL p_shop_get_many_stock_item ( DROP TABLE IF EXISTS tmp_Msg_Error; -select * FROM partsltd_prod.Shop_Storage_Location; -select * FROM partsltd_prod.Shop_product; +select * FROM demo.Shop_Storage_Location; +select * FROM demo.Shop_product; select * from TMP_MSG_ERROR; DROP TABLE TMP_MSG_ERROR; @@ -770,6 +770,6 @@ 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 partsltd_prod.Shop_product_change_set order by id_change_set desc limit 1) + id_change_set = (select id_change_set FROM demo.Shop_product_change_set order by id_change_set desc limit 1) where id_product = 1 */ diff --git a/static/MySQL/7220_p_shop_save_stock_item.sql b/static/MySQL/7220_p_shop_save_stock_item.sql index c62bdbb0..087f33c6 100644 --- a/static/MySQL/7220_p_shop_save_stock_item.sql +++ b/static/MySQL/7220_p_shop_save_stock_item.sql @@ -63,7 +63,7 @@ BEGIN SET v_id_type_error_bad_data := (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); SET v_id_access_level_edit := (SELECT id_access_level FROM Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); - CALL partsltd_prod.p_validate_guid ( a_guid ); + CALL demo.p_validate_guid ( a_guid ); DROP TEMPORARY TABLE IF EXISTS tmp_Stock_Item; DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; @@ -146,9 +146,9 @@ BEGIN , IFNULL(IFNULL(SI_T.active, SI.active), 1) AS active # , fn_shop_get_product_permutation_name(SI_T.id_permutation) , CASE WHEN IFNULL(SI_T.id_stock, 0) < 1 THEN 1 ELSE 0 END AS is_new - FROM partsltd_prod.Shop_Stock_Item_Temp SI_T - LEFT JOIN partsltd_prod.Shop_Stock_Item SI ON SI_T.id_stock = SI.id_stock - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON SI_T.id_permutation = PP.id_permutation + FROM demo.Shop_Stock_Item_Temp SI_T + LEFT JOIN demo.Shop_Stock_Item SI ON SI_T.id_stock = SI.id_stock + LEFT JOIN demo.Shop_Product_Permutation PP ON SI_T.id_permutation = PP.id_permutation -- LEFT JOIN Shop_Product P ON PP.id_product = P.id_product WHERE SI_T.guid = a_guid ; @@ -156,7 +156,7 @@ BEGIN -- Missing Permutation IDs for setting new permutation for stock item -- With variations UPDATE tmp_Stock_Item t_SI - INNER JOIN partsltd_prod.Shop_Product P ON t_SI.id_product = P.id_product + INNER JOIN demo.Shop_Product P ON t_SI.id_product = P.id_product SET t_SI.id_permutation = IFNULL(fn_shop_get_id_product_permutation_from_variation_csv_list ( t_SI.id_product, t_SI.id_pairs_variations ), 0) WHERE 1=1 AND t_SI.id_permutation = 0 @@ -165,7 +165,7 @@ BEGIN -- Without variations UPDATE tmp_Stock_Item t_SI -- INNER JOIN Shop_Product P ON t_SI.id_product = P.id_product - INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON t_SI.id_product = PP.id_product + INNER JOIN demo.Shop_Product_Permutation PP ON t_SI.id_product = PP.id_product SET t_SI.id_permutation = IFNULL(PP.id_permutation, 0) WHERE 1=1 AND t_SI.id_permutation = 0 @@ -174,8 +174,8 @@ BEGIN -- Add stock item error names UPDATE tmp_Stock_Item t_SI - INNER JOIN partsltd_prod.Shop_Product P ON t_SI.id_product = P.id_product - INNER JOIN partsltd_prod.Shop_Product_Category PC ON P.id_category = PC.id_category + INNER JOIN demo.Shop_Product P ON t_SI.id_product = P.id_product + INNER JOIN demo.Shop_Product_Category PC ON P.id_category = PC.id_category -- INNER JOIN Shop_Product_Permutation PP ON t_SI.id_product = PP.id_product SET t_SI.name_error = CONCAT( PC.name, @@ -195,7 +195,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Stock_Item t_SI - LEFT JOIN partsltd_prod.Shop_Stock_Item SI ON t_SI.id_stock = SI.id_stock + LEFT JOIN demo.Shop_Stock_Item SI ON t_SI.id_stock = SI.id_stock WHERE 1=1 AND t_SI.id_stock > 0 AND ISNULL(SI.id_stock) @@ -220,7 +220,7 @@ BEGIN ) ) AS msg FROM tmp_Stock_Item t_SI - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_SI.id_permutation = PP.id_permutation + LEFT JOIN demo.Shop_Product_Permutation PP ON t_SI.id_permutation = PP.id_permutation WHERE 1=1 AND t_SI.id_stock > 0 AND ISNULL(SI.id_stock) @@ -245,7 +245,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Stock_Item t_SI - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_SI.id_permutation = PP.id_permutation + LEFT JOIN demo.Shop_Product_Permutation PP ON t_SI.id_permutation = PP.id_permutation WHERE 1=1 AND ( t_SI.id_permutation = 0 @@ -263,7 +263,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('A valid permutation could not be found for the variations selected for the following stock item(s): ', GROUP_CONCAT(IFNULL(t_SI.name_error, 'NULL') SEPARATOR ', ')) AS msg FROM tmp_Stock_Item t_SI - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_SI.id_permutation = PP.id_permutation + LEFT JOIN demo.Shop_Product_Permutation PP ON t_SI.id_permutation = PP.id_permutation WHERE 1=1 AND ( t_SI.id_permutation = 0 @@ -290,7 +290,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Stock_Item t_SI - INNER JOIN partsltd_prod.Shop_Storage_Location SL + INNER JOIN demo.Shop_Storage_Location SL ON t_SI.id_location_storage = SL.id_location AND SL.active = 1 WHERE ISNULL(SL.id_location) @@ -306,7 +306,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following stock item(s) do not have a valid storage location: ', GROUP_CONCAT(IFNULL(t_SI.name_error, 'NULL') SEPARATOR ', ')) AS msg FROM tmp_Stock_Item t_SI - INNER JOIN partsltd_prod.Shop_Storage_Location SL + INNER JOIN demo.Shop_Storage_Location SL ON t_SI.id_location_storage = SL.id_location AND SL.active = 1 WHERE ISNULL(SL.id_location) @@ -316,7 +316,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Stock_Item t_SI - INNER JOIN partsltd_prod.Shop_Currency C + INNER JOIN demo.Shop_Currency C ON t_SI.id_currency_cost = C.id_currency AND C.active = 1 WHERE ISNULL(C.id_currency) @@ -332,7 +332,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following stock item(s) do not have a valid cost currency: ', GROUP_CONCAT(IFNULL(t_SI.name_error, 'NULL') SEPARATOR ', ')) AS msg FROM tmp_Stock_Item t_SI - INNER JOIN partsltd_prod.Shop_Currency C + INNER JOIN demo.Shop_Currency C ON t_SI.id_currency_cost = C.id_currency AND C.active = 1 WHERE ISNULL(C.id_currency) @@ -529,8 +529,8 @@ BEGIN SET v_id_change_set := LAST_INSERT_ID(); - -- select * from partsltd_prod.Shop_Stock_Item - UPDATE partsltd_prod.Shop_Stock_Item SI + -- select * from demo.Shop_Stock_Item + UPDATE demo.Shop_Stock_Item SI INNER JOIN tmp_Stock_Item t_SI ON SI.id_stock = t_SI.id_stock SET @@ -551,7 +551,7 @@ BEGIN ; END IF; - INSERT INTO partsltd_prod.Shop_Stock_Item ( + INSERT INTO demo.Shop_Stock_Item ( id_permutation , date_purchased , date_received @@ -595,7 +595,7 @@ BEGIN START TRANSACTION; - DELETE FROM partsltd_prod.Shop_Stock_Item_Temp + DELETE FROM demo.Shop_Stock_Item_Temp WHERE GUID = a_guid; COMMIT; @@ -603,7 +603,7 @@ BEGIN # Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN @@ -614,7 +614,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; diff --git a/static/MySQL/7220_p_shop_save_stock_item_test.sql b/static/MySQL/7220_p_shop_save_stock_item_test.sql index 764d6ad0..c059c639 100644 --- a/static/MySQL/7220_p_shop_save_stock_item_test.sql +++ b/static/MySQL/7220_p_shop_save_stock_item_test.sql @@ -1,7 +1,7 @@ -- Clear previous proc -DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_stock_item_test; +DROP PROCEDURE IF EXISTS demo.p_shop_save_stock_item_test; DELIMITER // @@ -15,15 +15,15 @@ BEGIN SET v_guid := 'nips'; SELECT * - FROM partsltd_prod.Shop_Stock_Item + FROM demo.Shop_Stock_Item ; SELECT * - FROM partsltd_prod.Shop_Stock_Item_Temp + FROM demo.Shop_Stock_Item_Temp ; START TRANSACTION; - INSERT INTO partsltd_prod.Shop_Stock_Item_Temp ( + INSERT INTO demo.Shop_Stock_Item_Temp ( id_stock -- id_category , id_product @@ -69,11 +69,11 @@ BEGIN COMMIT; SELECT * - FROM partsltd_prod.Shop_Stock_Item_Temp + FROM demo.Shop_Stock_Item_Temp WHERE GUID = v_guid ; - CALL partsltd_prod.p_shop_save_Stock_Item ( + CALL demo.p_shop_save_Stock_Item ( 'Test save Stock_Item' -- comment , v_guid -- guid , 1 -- id_user @@ -81,20 +81,20 @@ BEGIN ); SELECT * - FROM partsltd_prod.Shop_Stock_Item + FROM demo.Shop_Stock_Item ; SELECT * - FROM partsltd_prod.Shop_Stock_Item_Temp + FROM demo.Shop_Stock_Item_Temp ; - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END // DELIMITER ; /* -CALL partsltd_prod.p_shop_save_stock_item_test (); +CALL demo.p_shop_save_stock_item_test (); -DELETE FROM partsltd_prod.Shop_Stock_Item_Temp; +DELETE FROM demo.Shop_Stock_Item_Temp; update shop_product p set p.has_variations = 0 where id_product = 4 DROP TABLE IF EXISTS tmp_Msg_Error; diff --git a/static/MySQL/7221_p_get_many_shop_product_price_and_discount_and_delivery_option.sql b/static/MySQL/7221_p_get_many_shop_product_price_and_discount_and_delivery_option.sql index cf12c6b5..36fcbc81 100644 --- a/static/MySQL/7221_p_get_many_shop_product_price_and_discount_and_delivery_option.sql +++ b/static/MySQL/7221_p_get_many_shop_product_price_and_discount_and_delivery_option.sql @@ -1,4 +1,4 @@ --- USE partsltd_prod; +-- USE demo; -- Clear previous proc DROP PROCEDURE IF EXISTS p_shop_get_many_product_price_and_discount_and_delivery_option; @@ -188,7 +188,7 @@ BEGIN ; END IF; - CALL partsltd_prod.p_shop_calc_product_permutation ( + CALL demo.p_shop_calc_product_permutation ( a_id_user , 1 -- a_get_all_product_category , 0 -- a_get_inactive_product_category @@ -212,8 +212,8 @@ BEGIN SELECT PC.id_category , PC.display_order - FROM (SELECT * FROM partsltd_prod.Shop_Product_Category_Temp WHERE GUID = v_guid) PC_T - INNER JOIN partsltd_prod.Shop_Product_Category PC ON PC_T.id_category = PC.id_category + FROM (SELECT * FROM demo.Shop_Product_Category_Temp WHERE GUID = v_guid) PC_T + INNER JOIN demo.Shop_Product_Category PC ON PC_T.id_category = PC.id_category ; INSERT INTO tmp_Product ( @@ -225,8 +225,8 @@ BEGIN P.id_product , P.id_category , P.display_order - FROM (SELECT * FROM partsltd_prod.Shop_Product_Temp WHERE GUID = v_guid) P_T - INNER JOIN partsltd_prod.Shop_Product P ON P.id_product = P_T.id_product + FROM (SELECT * FROM demo.Shop_Product_Temp WHERE GUID = v_guid) P_T + INNER JOIN demo.Shop_Product P ON P.id_product = P_T.id_product ; INSERT INTO tmp_Permutation ( @@ -242,12 +242,12 @@ BEGIN , PP_T.can_view , PP_T.can_edit , PP_T.can_admin - FROM (SELECT * FROM partsltd_prod.Shop_Product_Permutation_Temp WHERE GUID = v_guid) PP_T - INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON PP_T.id_permutation = PP.id_permutation + FROM (SELECT * FROM demo.Shop_Product_Permutation_Temp WHERE GUID = v_guid) PP_T + INNER JOIN demo.Shop_Product_Permutation PP ON PP_T.id_permutation = PP.id_permutation ; # Product Prices - CALL partsltd_prod.p_split(v_guid, a_ids_product_price, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_product_price, ',', a_debug); DELETE FROM tmp_Split; @@ -258,21 +258,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Price PRICE ON t_S.as_int = PRICE.id_price + LEFT JOIN demo.Shop_Product_Price PRICE ON t_S.as_int = PRICE.id_price WHERE ISNULL(t_S.as_int) OR ISNULL(PRICE.id_price) @@ -289,7 +289,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive product price IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Price PRICE ON t_S.as_int = PRICE.id_price + LEFT JOIN demo.Shop_Product_Price PRICE ON t_S.as_int = PRICE.id_price WHERE ISNULL(t_S.as_int) OR ISNULL(PRICE.id_price) @@ -303,7 +303,7 @@ BEGIN PRICE.id_price , PRICE.id_permutation FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Product_Price PRICE ON t_S.as_int = PRICE.id_price + RIGHT JOIN demo.Shop_Product_Price PRICE ON t_S.as_int = PRICE.id_price INNER JOIN tmp_Permutation t_PP ON SI.id_permutation = t_PP.id_permutation WHERE ( @@ -948,10 +948,10 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Product; - CALL partsltd_prod.p_shop_clear_calc_product_permutation ( v_guid ); + CALL demo.p_shop_clear_calc_product_permutation ( v_guid ); IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -959,7 +959,7 @@ DELIMITER ; /* -CALL partsltd_prod.p_shop_get_many_product_price_and_discount_and_delivery_option ( +CALL demo.p_shop_get_many_product_price_and_discount_and_delivery_option ( IN a_id_user INT, IN a_get_all_product_permutation BIT, IN a_get_inactive_product_permutation BIT, diff --git a/static/MySQL/7312_p_shop_save_user.sql b/static/MySQL/7312_p_shop_save_user.sql index cff747c6..2e959c9f 100644 --- a/static/MySQL/7312_p_shop_save_user.sql +++ b/static/MySQL/7312_p_shop_save_user.sql @@ -45,7 +45,7 @@ BEGIN MET.id_type , @errno , @text - FROM partsltd_prod.Shop_Msg_Error_Type MET + FROM demo.Shop_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; SELECT * @@ -112,7 +112,7 @@ BEGIN , IFNULL(U_T.is_included_VAT_default, U.is_included_VAT_default) AS is_included_VAT_default , IFNULL(IFNULL(U_T.active, U.active), 1) AS active , IFNULL(U_T.display_order, PC.display_order) AS display_order - FROM partsltd_prod.Shop_User_Temp U_T + FROM demo.Shop_User_Temp U_T LEFT JOIN Shop_User U ON U_T.id_user = U.id_user WHERE U_T.guid = a_guid ; @@ -194,7 +194,7 @@ BEGIN SET v_can_admin_user := ( SELECT IFNULL(UE_T.can_edit, 0) = 1 - FROM partsltd_prod.Shop_User_Eval_Temp UE_T + FROM demo.Shop_User_Eval_Temp UE_T WHERE UE_T.GUID = a_guid AND UE_T.id_user = a_id_user @@ -261,7 +261,7 @@ BEGIN # Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN @@ -272,7 +272,7 @@ BEGIN DROP TABLE IF EXISTS tmp_User; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; diff --git a/static/MySQL/7313_p_get_many_user.sql b/static/MySQL/7313_p_get_many_user.sql index 62708fa5..b7415876 100644 --- a/static/MySQL/7313_p_get_many_user.sql +++ b/static/MySQL/7313_p_get_many_user.sql @@ -33,13 +33,13 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_guid := UUID(); - SET v_id_access_level_admin := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'ADMIN' LIMIT 1); - SET v_id_access_level_view := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1); - SET v_id_permission_store_admin := (SELECT id_permission FROM partsltd_prod.Shop_Permission WHERE code = 'STORE_ADMIN' LIMIT 1); - SET v_id_permission_user := (SELECT id_permission FROM partsltd_prod.Shop_Permission WHERE code = 'STORE_USER' LIMIT 1); - SET v_id_permission_user_admin := (SELECT id_permission FROM partsltd_prod.Shop_Permission WHERE code = 'STORE_USER_ADMIN' LIMIT 1); - SET v_code_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); - SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_error_bad_data LIMIT 1); + SET v_id_access_level_admin := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'ADMIN' LIMIT 1); + SET v_id_access_level_view := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1); + SET v_id_permission_store_admin := (SELECT id_permission FROM demo.Shop_Permission WHERE code = 'STORE_ADMIN' LIMIT 1); + SET v_id_permission_user := (SELECT id_permission FROM demo.Shop_Permission WHERE code = 'STORE_USER' LIMIT 1); + SET v_id_permission_user_admin := (SELECT id_permission FROM demo.Shop_Permission WHERE code = 'STORE_USER_ADMIN' LIMIT 1); + SET v_code_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_error_bad_data LIMIT 1); SET v_ids_permission_required := CONCAT(v_id_permission_user, ',', v_id_permission_user_admin, ',', v_id_permission_store_admin); SET v_is_new := FALSE; @@ -87,12 +87,12 @@ BEGIN ); IF ISNULL(a_id_user) AND NOT ISNULL(a_id_user_auth0) THEN - SET a_id_user := (SELECT U.id_user FROM partsltd_prod.Shop_User U WHERE U.id_user_auth0 = a_id_user_auth0 LIMIT 1); -- LIKE CONCAT('%', a_id_user_auth0, '%') LIMIT 1); + SET a_id_user := (SELECT U.id_user FROM demo.Shop_User U WHERE U.id_user_auth0 = a_id_user_auth0 LIMIT 1); -- LIKE CONCAT('%', a_id_user_auth0, '%') LIMIT 1); END IF; IF ISNULL(a_id_user) THEN IF NOT ISNULL(a_id_user_auth0) THEN - INSERT INTO partsltd_prod.Shop_User ( + INSERT INTO demo.Shop_User ( id_user_auth0 , is_super_user , active @@ -103,7 +103,7 @@ BEGIN , 1 -- active ) ; - SET a_id_user := (SELECT U.id_user FROM partsltd_prod.Shop_User U WHERE U.id_user_auth0 = a_id_user_auth0 LIMIT 1); + SET a_id_user := (SELECT U.id_user FROM demo.Shop_User U WHERE U.id_user_auth0 = a_id_user_auth0 LIMIT 1); SET v_is_new := TRUE; ELSE INSERT INTO tmp_Msg_Error ( @@ -132,7 +132,7 @@ BEGIN -- User IDs IF (NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) AND v_has_filter_user = 1) THEN - CALL partsltd_prod.p_split(v_guid, a_ids_user, ',', FALSE); + CALL demo.p_split(v_guid, a_ids_user, ',', FALSE); DELETE FROM tmp_Split; @@ -143,21 +143,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF (NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) AND v_has_filter_user = 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_User U ON t_S.as_int = U.id_user + LEFT JOIN demo.Shop_User U ON t_S.as_int = U.id_user WHERE ISNULL(t_S.as_int) OR ISNULL(U.id_user) @@ -174,7 +174,7 @@ BEGIN v_code_error_bad_data, CONCAT('Invalid or inactive User IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_User U ON t_S.as_int = U.id_user + LEFT JOIN demo.Shop_User U ON t_S.as_int = U.id_user WHERE ISNULL(t_S.as_int) OR ISNULL(U.id_user) @@ -188,7 +188,7 @@ BEGIN U.id_user , RANK() OVER (ORDER BY U.id_user DESC) AS rank_user FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_User U ON t_S.as_int = U.id_user + RIGHT JOIN demo.Shop_User U ON t_S.as_int = U.id_user WHERE ( a_get_all_user = 1 @@ -207,7 +207,7 @@ BEGIN -- Auth0 User IDs IF (NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) AND v_has_filter_user_auth0 = 1) THEN - CALL partsltd_prod.p_split(v_guid, a_ids_user_auth0, ',', FALSE); + CALL demo.p_split(v_guid, a_ids_user_auth0, ',', FALSE); DELETE FROM tmp_Split; @@ -216,21 +216,21 @@ BEGIN ) SELECT substring - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF (NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) AND v_has_filter_user_auth0 = 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_User U ON t_S.substring = U.id_user_auth0 + LEFT JOIN demo.Shop_User U ON t_S.substring = U.id_user_auth0 WHERE ISNULL(t_S.substring) OR ISNULL(U.id_user_auth0) @@ -247,7 +247,7 @@ BEGIN v_code_error_bad_data, CONCAT('Invalid or inactive Auth0 User IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_User U ON t_S.substring = U.id_user_auth0 + LEFT JOIN demo.Shop_User U ON t_S.substring = U.id_user_auth0 WHERE ISNULL(t_S.substring) OR ISNULL(U.id_user_auth0) @@ -263,7 +263,7 @@ BEGIN U.id_user , v_rank_max + (RANK() OVER (ORDER BY U.id_user DESC)) AS rank_user FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_User U ON t_S.substring = U.id_user_auth0 + RIGHT JOIN demo.Shop_User U ON t_S.substring = U.id_user_auth0 WHERE ( a_get_all_user = 1 @@ -311,10 +311,10 @@ BEGIN , '' -- ids_product , 0 -- a_debug ; - SELECT * FROM partsltd_prod.Shop_Calc_User_Temp; + SELECT * FROM demo.Shop_Calc_User_Temp; END IF; - CALL partsltd_prod.p_shop_calc_user( + CALL demo.p_shop_calc_user( v_guid -- guid , a_id_user -- ids_user , FALSE -- get_inactive_user @@ -325,17 +325,17 @@ BEGIN ); IF a_debug = 1 THEN - SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = v_guid; + SELECT * FROM demo.Shop_Calc_User_Temp WHERE GUID = v_guid; END IF; UPDATE tmp_User t_U - INNER JOIN partsltd_prod.Shop_Calc_User_Temp CUT + INNER JOIN demo.Shop_Calc_User_Temp CUT ON CUT.GUID = v_guid AND t_U.id_user = CUT.id_user SET t_U.can_admin_store = CUT.can_admin ; - CALL partsltd_prod.p_shop_clear_calc_user( v_guid, FALSE ); + CALL demo.p_shop_clear_calc_user( v_guid, FALSE ); END IF; -- Can admin user @@ -350,10 +350,10 @@ BEGIN , '' -- ids_product , 0 -- a_debug ; - SELECT * FROM partsltd_prod.Shop_Calc_User_Temp; + SELECT * FROM demo.Shop_Calc_User_Temp; END IF; - CALL partsltd_prod.p_shop_calc_user( + CALL demo.p_shop_calc_user( v_guid -- guid , a_id_user -- ids_user , FALSE -- get_inactive_user @@ -364,17 +364,17 @@ BEGIN ); IF a_debug = 1 THEN - SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = v_guid; + SELECT * FROM demo.Shop_Calc_User_Temp WHERE GUID = v_guid; END IF; UPDATE tmp_User t_U - INNER JOIN partsltd_prod.Shop_Calc_User_Temp CUT + INNER JOIN demo.Shop_Calc_User_Temp CUT ON CUT.GUID = v_guid AND t_U.id_user = CUT.id_user SET t_U.can_admin_user = CUT.can_admin ; - CALL partsltd_prod.p_shop_clear_calc_user( v_guid, FALSE ); + CALL demo.p_shop_clear_calc_user( v_guid, FALSE ); END IF; -- Permissions @@ -389,10 +389,10 @@ BEGIN , '' -- ids_product , 0 -- a_debug ; - SELECT * FROM partsltd_prod.Shop_Calc_User_Temp; + SELECT * FROM demo.Shop_Calc_User_Temp; END IF; - CALL partsltd_prod.p_shop_calc_user( + CALL demo.p_shop_calc_user( v_guid -- guid , a_id_user -- ids_user , FALSE -- get_inactive_user @@ -403,12 +403,12 @@ BEGIN ); IF a_debug = 1 THEN - SELECT * FROM partsltd_prod.Shop_Calc_User_Temp WHERE GUID = v_guid; + SELECT * FROM demo.Shop_Calc_User_Temp WHERE GUID = v_guid; END IF; IF NOT EXISTS ( SELECT can_view - FROM partsltd_prod.Shop_Calc_User_Temp CUT + FROM demo.Shop_Calc_User_Temp CUT WHERE 1=1 AND CUT.GUID = v_guid AND can_view = 1 @@ -422,9 +422,9 @@ BEGIN VALUES ( v_id_type_error_bad_data, v_code_error_bad_data, - -- CONCAT('You do not have view permissions for ', (SELECT name FROM partsltd_prod.Shop_Permission WHERE id_permission = v_id_permission_user LIMIT 1)) - -- CONCAT('You do not have view permissions for ', (SELECT GROUP_CONCAT(name SEPARATOR ', ') FROM partsltd_prod.Shop_Permission WHERE FIND_IN_SET(v_id_permission_user, id_permission) > 0)) - CONCAT('You do not have view permissions for ', (SELECT name FROM partsltd_prod.Shop_Permission P INNER JOIN partsltd_prod.Shop_Calc_User_Temp CUT ON P.id_permission = CUT.id_permission_required WHERE GUID = v_guid AND IFNULL(can_view, 0) = 0 LIMIT 1)) -- WHERE IFNULL(CUT.can_view, 0) = 0 + -- CONCAT('You do not have view permissions for ', (SELECT name FROM demo.Shop_Permission WHERE id_permission = v_id_permission_user LIMIT 1)) + -- CONCAT('You do not have view permissions for ', (SELECT GROUP_CONCAT(name SEPARATOR ', ') FROM demo.Shop_Permission WHERE FIND_IN_SET(v_id_permission_user, id_permission) > 0)) + CONCAT('You do not have view permissions for ', (SELECT name FROM demo.Shop_Permission P INNER JOIN demo.Shop_Calc_User_Temp CUT ON P.id_permission = CUT.id_permission_required WHERE GUID = v_guid AND IFNULL(can_view, 0) = 0 LIMIT 1)) -- WHERE IFNULL(CUT.can_view, 0) = 0 ) ; ELSE @@ -432,7 +432,7 @@ BEGIN SET a_debug := a_debug; END IF; - CALL partsltd_prod.p_shop_clear_calc_user( v_guid, FALSE ); + CALL demo.p_shop_clear_calc_user( v_guid, FALSE ); END IF; @@ -460,7 +460,7 @@ BEGIN , t_U.can_admin_user , v_is_new AS is_new FROM tmp_User t_U - INNER JOIN partsltd_prod.Shop_User U ON t_U.id_user = U.id_user + INNER JOIN demo.Shop_User U ON t_U.id_user = U.id_user ; # Errors @@ -471,7 +471,7 @@ BEGIN MET.name, MET.description FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; @@ -485,12 +485,12 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; /* - DELETE FROM partsltd_prod.Shop_Calc_User_Temp + DELETE FROM demo.Shop_Calc_User_Temp WHERE GUID = v_guid; */ IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -519,11 +519,11 @@ CALL p_get_many_user ( );*/ /* -select * FROM partsltd_prod.Shop_Calc_User_Temp; -delete FROM partsltd_prod.Shop_Calc_User_Temp; +select * FROM demo.Shop_Calc_User_Temp; +delete FROM demo.Shop_Calc_User_Temp; SELECT * -FROM partsltd_prod.Shop_USER; +FROM demo.Shop_USER; CALL p_get_many_user( NULL -- :a_id_user, diff --git a/static/MySQL/7400_p_shop_save_supplier.sql b/static/MySQL/7400_p_shop_save_supplier.sql index 6b1c0038..84ffee7b 100644 --- a/static/MySQL/7400_p_shop_save_supplier.sql +++ b/static/MySQL/7400_p_shop_save_supplier.sql @@ -48,7 +48,7 @@ BEGIN id_type , @errno , @text - FROM partsltd_prod.Shop_Msg_Error_Type MET + FROM demo.Shop_Msg_Error_Type MET WHERE code = 'MYSQL_ERROR' ; SELECT * @@ -57,12 +57,12 @@ BEGIN END; SET v_time_start := CURRENT_TIMESTAMP(6); - SET v_code_type_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); - SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); - SET v_code_type_error_no_permission := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1); - SET v_id_type_error_no_permission := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_supplier := (SELECT id_permission FROM partsltd_prod.Shop_Permission WHERE code = 'STORE_SUPPLIER' LIMIT 1); - SET v_id_access_level_EDIT := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); + SET v_code_type_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + SET v_code_type_error_no_permission := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1); + SET v_id_type_error_no_permission := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_supplier := (SELECT id_permission FROM demo.Shop_Permission WHERE code = 'STORE_SUPPLIER' LIMIT 1); + SET v_id_access_level_EDIT := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); CALL p_validate_guid ( a_guid ); SET a_comment := TRIM(IFNULL(a_comment, '')); @@ -138,7 +138,7 @@ BEGIN , S_T.active , IFNULL(S_T.name_company, IFNULL(S_T.email, IFNULL(S_T.website, IFNULL(S_T.name_contact, '(No Supplier)')))) , IFNULL(S_T.id_supplier, 0) < 1 - FROM partsltd_prod.Shop_Supplier_Temp S_T + FROM demo.Shop_Supplier_Temp S_T WHERE GUID = a_guid ; @@ -167,7 +167,7 @@ BEGIN , SA_T.active , IFNULL(SA_T.postcode, IFNULL(SA_T.city, IFNULL(SA_T.county, IFNULL(SA_T.address_line_1, IFNULL(SA_T.address_line_2, '(No Supplier)'))))) AS name_error , IFNULL(SA_T.id_address, 0) < 1 AS is_new - FROM partsltd_prod.Shop_Supplier_Address_Temp SA_T + FROM demo.Shop_Supplier_Address_Temp SA_T WHERE GUID = a_guid ; @@ -178,7 +178,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Supplier t_S - LEFT JOIN partsltd_prod.Shop_Address A ON t_S.id_address = A.id_address + LEFT JOIN demo.Shop_Address A ON t_S.id_address = A.id_address WHERE 1=1 AND ( t_S.id_address = 0 @@ -199,7 +199,7 @@ BEGIN , GROUP_CONCAT(t_S.name_error SEPARATOR ', ') ) AS msg FROM tmp_Supplier t_S - LEFT JOIN partsltd_prod.Shop_Address A ON t_S.id_address = A.id_address + LEFT JOIN demo.Shop_Address A ON t_S.id_address = A.id_address WHERE 1=1 AND ( t_S.id_address = 0 @@ -212,7 +212,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Supplier t_S - LEFT JOIN partsltd_prod.Shop_Currency C ON t_S.id_currency = C.id_currency + LEFT JOIN demo.Shop_Currency C ON t_S.id_currency = C.id_currency WHERE 1=1 AND ( t_S.id_currency = 0 @@ -233,7 +233,7 @@ BEGIN , GROUP_CONCAT(t_S.name_error SEPARATOR ', ') ) AS msg FROM tmp_Supplier t_S - LEFT JOIN partsltd_prod.Shop_Currency C ON t_S.id_currency = C.id_currency + LEFT JOIN demo.Shop_Currency C ON t_S.id_currency = C.id_currency WHERE 1=1 AND ( t_S.id_currency = 0 @@ -293,7 +293,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Supplier_Address t_SA - LEFT JOIN partsltd_prod.Shop_Supplier S ON t_SA.id_supplier = S.id_supplier + LEFT JOIN demo.Shop_Supplier S ON t_SA.id_supplier = S.id_supplier WHERE 1=1 AND ( t_SA.id_supplier = 0 @@ -314,7 +314,7 @@ BEGIN , GROUP_CONCAT(t_S.name_error SEPARATOR ', ') ) AS msg FROM tmp_Supplier t_S - LEFT JOIN partsltd_prod.Shop_Supplier S ON t_SA.id_supplier = S.id_supplier + LEFT JOIN demo.Shop_Supplier S ON t_SA.id_supplier = S.id_supplier WHERE 1=1 AND ( t_SA.id_supplier = 0 @@ -326,7 +326,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Supplier_Address t_SA - LEFT JOIN partsltd_prod.Shop_Region R ON t_SA.id_region = R.id_region + LEFT JOIN demo.Shop_Region R ON t_SA.id_region = R.id_region WHERE 1=1 AND ( t_SA.id_region = 0 @@ -347,7 +347,7 @@ BEGIN , GROUP_CONCAT(t_S.name_error SEPARATOR ', ') ) AS msg FROM tmp_Supplier t_S - LEFT JOIN partsltd_prod.Shop_Region R ON t_SA.id_region = R.id_region + LEFT JOIN demo.Shop_Region R ON t_SA.id_region = R.id_region WHERE 1=1 AND ( t_SA.id_region = 0 @@ -383,7 +383,7 @@ BEGIN , '' -- ids_product , 0 -- a_debug ; - SELECT * from partsltd_prod.Shop_Calc_User_Temp; + SELECT * from demo.Shop_Calc_User_Temp; END IF; CALL p_shop_calc_user( @@ -397,10 +397,10 @@ BEGIN ); IF a_debug = 1 THEN - SELECT * from partsltd_prod.Shop_Calc_User_Temp WHERE GUID = a_guid; + SELECT * from demo.Shop_Calc_User_Temp WHERE GUID = a_guid; END IF; - IF NOT EXISTS (SELECT can_view FROM partsltd_prod.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = a_guid) THEN + IF NOT EXISTS (SELECT can_view FROM demo.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = a_guid) THEN DELETE FROM tmp_Msg_Error; INSERT INTO tmp_Msg_Error ( @@ -411,12 +411,12 @@ BEGIN VALUES ( v_id_type_error_no_permission , v_code_type_error_no_permission - , CONCAT('You do not have view permissions for ', (SELECT name FROM partsltd_prod.Shop_Permission WHERE id_permission = v_id_permission_supplier LIMIT 1)) + , CONCAT('You do not have view permissions for ', (SELECT name FROM demo.Shop_Permission WHERE id_permission = v_id_permission_supplier LIMIT 1)) ) ; END IF; - CALL partsltd_prod.p_shop_clear_calc_user( + CALL demo.p_shop_clear_calc_user( a_guid , 0 -- a_debug ); @@ -429,7 +429,7 @@ BEGIN -- Transaction IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN START TRANSACTION; - INSERT INTO partsltd_prod.Shop_User_Change_Set ( + INSERT INTO demo.Shop_User_Change_Set ( comment , updated_last_by , updated_last_on @@ -442,7 +442,7 @@ BEGIN SET v_id_change_set := LAST_INSERT_ID(); - INSERT INTO partsltd_prod.Shop_Supplier ( + INSERT INTO demo.Shop_Supplier ( id_supplier_temp , id_currency , name_company @@ -472,7 +472,7 @@ BEGIN ; UPDATE tmp_Supplier t_S - INNER JOIN partsltd_prod.Shop_Supplier S ON t_S.id_supplier_temp = S.id_supplier_temp + INNER JOIN demo.Shop_Supplier S ON t_S.id_supplier_temp = S.id_supplier_temp SET t_S.id_supplier = S.id_supplier WHERE t_S.is_new = 1 @@ -485,7 +485,7 @@ BEGIN WHERE t_S.is_new = 1 ; - UPDATE partsltd_prod.Shop_Supplier S + UPDATE demo.Shop_Supplier S INNER JOIN tmp_Supplier t_S ON S.id_supplier = t_S.id_supplier AND t_S.is_new = 0 @@ -515,7 +515,7 @@ BEGIN */ ; - INSERT INTO partsltd_prod.Shop_Supplier_Address ( + INSERT INTO demo.Shop_Supplier_Address ( id_supplier , id_region , postcode @@ -540,7 +540,7 @@ BEGIN WHERE t_SA.is_new = 1 ; - UPDATE partsltd_prod.Shop_Supplier_Address SA + UPDATE demo.Shop_Supplier_Address SA INNER JOIN tmp_Supplier_Address t_SA ON SA.id_address = t_SA.id_address AND t_SA.is_new = 0 @@ -559,16 +559,16 @@ BEGIN END IF; START TRANSACTION; - DELETE FROM partsltd_prod.Shop_Supplier_Temp + DELETE FROM demo.Shop_Supplier_Temp WHERE GUID = a_guid; - DELETE FROM partsltd_prod.Shop_Supplier_Address_Temp + DELETE FROM demo.Shop_Supplier_Address_Temp WHERE GUID = a_guid; COMMIT; # Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN @@ -582,7 +582,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; diff --git a/static/MySQL/7400_p_shop_save_supplier_temp.sql b/static/MySQL/7400_p_shop_save_supplier_temp.sql index cb6a6331..02abbc7e 100644 --- a/static/MySQL/7400_p_shop_save_supplier_temp.sql +++ b/static/MySQL/7400_p_shop_save_supplier_temp.sql @@ -1,7 +1,7 @@ -- Clear previous proc -DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_supplier_test; +DROP PROCEDURE IF EXISTS demo.p_shop_save_supplier_test; DELIMITER // @@ -15,21 +15,21 @@ BEGIN SET v_guid := 'nips'; SELECT * - FROM partsltd_prod.Shop_Supplier + FROM demo.Shop_Supplier ; SELECT * - FROM partsltd_prod.Shop_Supplier_Temp + FROM demo.Shop_Supplier_Temp ; SELECT * - FROM partsltd_prod.Shop_Supplier_Address + FROM demo.Shop_Supplier_Address ; SELECT * - FROM partsltd_prod.Shop_Supplier_Address_Temp + FROM demo.Shop_Supplier_Address_Temp ; START TRANSACTION; - INSERT INTO partsltd_prod.Shop_Supplier_Temp ( + INSERT INTO demo.Shop_Supplier_Temp ( id_supplier , id_currency , name_company @@ -70,12 +70,12 @@ BEGIN , website , active , v_guid - FROM partsltd_prod.Shop_Supplier S + FROM demo.Shop_Supplier S WHERE S.id_supplier = 2 ; /* - INSERT INTO partsltd_prod.Shop_Supplier_Address_Temp ( + INSERT INTO demo.Shop_Supplier_Address_Temp ( id_address , id_supplier , id_region @@ -113,7 +113,7 @@ BEGIN , county , active , v_guid - FROM partsltd_prod.Shop_Supplier_Address SA + FROM demo.Shop_Supplier_Address SA WHERE SA.id_supplier = 2 ; */ @@ -121,16 +121,16 @@ BEGIN COMMIT; SELECT * - FROM partsltd_prod.Shop_Supplier_Temp + FROM demo.Shop_Supplier_Temp WHERE GUID = v_guid ; SELECT * - FROM partsltd_prod.Shop_Supplier_Address_Temp + FROM demo.Shop_Supplier_Address_Temp WHERE GUID = v_guid ; - CALL partsltd_prod.p_shop_save_supplier ( + CALL demo.p_shop_save_supplier ( 'Test save Supplier' -- comment , v_guid -- guid , 1 -- id_user @@ -138,30 +138,30 @@ BEGIN ); SELECT * - FROM partsltd_prod.Shop_Supplier_Temp + FROM demo.Shop_Supplier_Temp ; SELECT * - FROM partsltd_prod.Shop_Supplier_Address_Temp + FROM demo.Shop_Supplier_Address_Temp ; SELECT * - FROM partsltd_prod.Shop_Supplier + FROM demo.Shop_Supplier ; SELECT * - FROM partsltd_prod.Shop_Supplier_Address + FROM demo.Shop_Supplier_Address ; - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END // DELIMITER ; /* -CALL partsltd_prod.p_shop_save_supplier_test (); +CALL demo.p_shop_save_supplier_test (); -DELETE FROM partsltd_prod.Shop_Supplier_Temp; -DELETE FROM partsltd_prod.Shop_Supplier_Address_Temp; +DELETE FROM demo.Shop_Supplier_Temp; +DELETE FROM demo.Shop_Supplier_Address_Temp; DROP TABLE IF EXISTS tmp_Msg_Error; -Cannot add or update a child row: a foreign key constraint fails (`partsltd_prod`.`shop_supplier`, CONSTRAINT `FK_Shop_Supplier_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_sales_and_purchasing_change_set` (`id_change_set`)) +Cannot add or update a child row: a foreign key constraint fails (`demo`.`shop_supplier`, CONSTRAINT `FK_Shop_Supplier_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_sales_and_purchasing_change_set` (`id_change_set`)) */ \ No newline at end of file diff --git a/static/MySQL/7401_p_shop_get_many_supplier.sql b/static/MySQL/7401_p_shop_get_many_supplier.sql index 490de0df..952cd613 100644 --- a/static/MySQL/7401_p_shop_get_many_supplier.sql +++ b/static/MySQL/7401_p_shop_get_many_supplier.sql @@ -23,12 +23,12 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_guid := UUID(); - SET v_id_access_level_view := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1); - SET v_code_type_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); - SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); - SET v_code_type_error_no_permission := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION'); - SET v_id_type_error_no_permission := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission); - SET v_id_permission_supplier := (SELECT id_permission FROM partsltd_prod.Shop_Permission WHERE code = 'STORE_SUPPLIER' LIMIT 1); + SET v_id_access_level_view := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1); + SET v_code_type_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + SET v_code_type_error_no_permission := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION'); + SET v_id_type_error_no_permission := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission); + SET v_id_permission_supplier := (SELECT id_permission FROM demo.Shop_Permission WHERE code = 'STORE_SUPPLIER' LIMIT 1); SET a_get_all_supplier := IFNULL(a_get_all_supplier, 0); SET a_get_inactive_supplier := IFNULL(a_get_inactive_supplier, 0); @@ -67,7 +67,7 @@ BEGIN -- Suppliers IF v_has_filter_supplier = 1 THEN - CALL partsltd_prod.p_split(v_guid, a_ids_supplier, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_supplier, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -76,21 +76,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Supplier S ON t_S.as_int = S.id_supplier + LEFT JOIN demo.Shop_Supplier S ON t_S.as_int = S.id_supplier WHERE ISNULL(t_S.as_int) OR ISNULL(S.id_supplier) @@ -109,7 +109,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive Supplier IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Supplier S ON t_S.as_int = S.id_supplier + LEFT JOIN demo.Shop_Supplier S ON t_S.as_int = S.id_supplier WHERE ISNULL(t_S.as_int) OR ISNULL(S.id_supplier) @@ -125,7 +125,7 @@ BEGIN SELECT S.id_supplier FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Supplier S ON t_S.as_int = S.id_supplier + RIGHT JOIN demo.Shop_Supplier S ON t_S.as_int = S.id_supplier WHERE ( a_get_all_supplier = 1 OR ( @@ -207,8 +207,8 @@ BEGIN S.website, S.active FROM tmp_Supplier t_S - INNER JOIN partsltd_prod.Shop_Supplier S ON t_S.id_supplier = S.id_supplier - LEFT JOIN partsltd_prod.Shop_Currency C ON S.id_currency = C.id_currency + INNER JOIN demo.Shop_Supplier S ON t_S.id_supplier = S.id_supplier + LEFT JOIN demo.Shop_Currency C ON S.id_currency = C.id_currency ; # Supplier Addresses @@ -224,15 +224,15 @@ BEGIN , SA.county , SA.active FROM tmp_Supplier t_S - INNER JOIN partsltd_prod.Shop_Supplier S ON t_S.id_supplier = S.id_supplier - INNER JOIN partsltd_prod.Shop_Supplier_Address SA ON S.id_supplier = SA.id_supplier - LEFT JOIN partsltd_prod.Shop_Region R ON SA.id_region = R.id_region + INNER JOIN demo.Shop_Supplier S ON t_S.id_supplier = S.id_supplier + INNER JOIN demo.Shop_Supplier_Address SA ON S.id_supplier = SA.id_supplier + LEFT JOIN demo.Shop_Region R ON SA.id_region = R.id_region ; # Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN diff --git a/static/MySQL/7403_p_shop_save_supplier_purchase_order.sql b/static/MySQL/7403_p_shop_save_supplier_purchase_order.sql index 888f75a6..fac83174 100644 --- a/static/MySQL/7403_p_shop_save_supplier_purchase_order.sql +++ b/static/MySQL/7403_p_shop_save_supplier_purchase_order.sql @@ -53,7 +53,7 @@ BEGIN MET.id_type , @errno , @text - FROM partsltd_prod.Shop_Msg_Error_Type MET + FROM demo.Shop_Msg_Error_Type MET WHERE code = 'MYSQL_ERROR' ; SELECT * @@ -62,14 +62,14 @@ BEGIN END; SET v_time_start := CURRENT_TIMESTAMP(6); - SET v_code_type_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); - SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); - SET v_code_type_error_no_permission := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1); - SET v_id_type_error_no_permission := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1); - SET v_code_type_error_warning := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'WARNING' LIMIT 1); - SET v_id_type_error_warning := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_warning LIMIT 1); - SET v_id_permission_supplier_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM partsltd_prod.Shop_Permission WHERE code IN ('STORE_SUPPLIER', 'STORE_SUPPLIER_PURCHASE_ORDER', 'STORE_PRODUCT')); - SET v_id_access_level_edit := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); + SET v_code_type_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + SET v_code_type_error_no_permission := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1); + SET v_id_type_error_no_permission := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1); + SET v_code_type_error_warning := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'WARNING' LIMIT 1); + SET v_id_type_error_warning := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_warning LIMIT 1); + SET v_id_permission_supplier_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM demo.Shop_Permission WHERE code IN ('STORE_SUPPLIER', 'STORE_SUPPLIER_PURCHASE_ORDER', 'STORE_PRODUCT')); + SET v_id_access_level_edit := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); CALL p_validate_guid ( a_guid ); SET a_comment := TRIM(IFNULL(a_comment, '')); @@ -145,10 +145,10 @@ BEGIN , ' ' , IFNULL(IFNULL(SPO.cost_total_local_vat_excl, SPO.cost_total_local_vat_incl), '(No cost)') ) AS name_error - FROM partsltd_prod.Shop_Supplier_Purchase_Order_Temp SPO_T - LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO ON SPO_T.id_order = SPO.id_order - LEFT JOIN partsltd_prod.Shop_Supplier S ON SPO_T.id_supplier_ordered = S.id_supplier - LEFT JOIN partsltd_prod.Shop_Currency C ON SPO_T.id_currency_cost = C.id_currency + FROM demo.Shop_Supplier_Purchase_Order_Temp SPO_T + LEFT JOIN demo.Shop_Supplier_Purchase_Order SPO ON SPO_T.id_order = SPO.id_order + LEFT JOIN demo.Shop_Supplier S ON SPO_T.id_supplier_ordered = S.id_supplier + LEFT JOIN demo.Shop_Currency C ON SPO_T.id_currency_cost = C.id_currency WHERE SPO_T.GUID = a_guid ; @@ -178,7 +178,7 @@ BEGIN IFNULL( SPOPL_T.id_permutation , CASE WHEN NOT ISNULL(SPOPL_T.id_product) AND NOT ISNULL(SPOPL_T.csv_list_variations) THEN - partsltd_prod.fn_shop_get_id_product_permutation_from_variation_csv_list(SPOPL_T.id_product, SPOPL_T.csv_list_variations) + demo.fn_shop_get_id_product_permutation_from_variation_csv_list(SPOPL_T.id_product, SPOPL_T.csv_list_variations) ELSE NULL END ) , SPOPL.id_permutation @@ -200,20 +200,20 @@ BEGIN , IFNULL(IFNULL(SPOPL_T.active, SPOPL.active), 1) AS active , NOT ISNULL(t_SPO.id_order) AS has_order , IFNULL(SPOPL_T.id_link, 0) < 1 AS is_new - FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp SPOPL_T - LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON SPOPL_T.id_link = SPOPL.id_link + FROM demo.Shop_Supplier_Purchase_Order_Product_Link_Temp SPOPL_T + LEFT JOIN demo.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON SPOPL_T.id_link = SPOPL.id_link LEFT JOIN tmp_Supplier_Purchase_Order t_SPO ON SPOPL_T.id_order = t_SPO.id_order WHERE SPOPL_T.GUID = a_guid ; UPDATE tmp_Supplier_Purchase_Order_Product_Link t_SPOPL - LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp SPOPL_T + LEFT JOIN demo.Shop_Supplier_Purchase_Order_Product_Link_Temp SPOPL_T ON t_SPOPL.id_link = SPOPL_T.id_link AND t_SPOPL.GUID = a_guid - LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON t_SPOPL.id_link = SPOPL.id_link - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_SPOPL.id_permutation = PP.id_permutation - LEFT JOIN partsltd_prod.Shop_Product P ON SPOPL_T.id_product = P.id_product - LEFT JOIN partsltd_prod.Shop_Product_Category PC ON P.id_category = PC.id_category + LEFT JOIN demo.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON t_SPOPL.id_link = SPOPL.id_link + LEFT JOIN demo.Shop_Product_Permutation PP ON t_SPOPL.id_permutation = PP.id_permutation + LEFT JOIN demo.Shop_Product P ON SPOPL_T.id_product = P.id_product + LEFT JOIN demo.Shop_Product_Category PC ON P.id_category = PC.id_category SET t_SPOPL.id_product = IFNULL(P.id_product, SPOPL_T.id_product) , t_SPOPL.name_error = CONCAT( @@ -254,7 +254,7 @@ BEGIN , IFNULL(SPO.id_currency_cost, 0) AS id_currency_cost , SPO.active AS active , 0 AS is_new - FROM partsltd_prod.Shop_Supplier_Purchase_Order SPO + FROM demo.Shop_Supplier_Purchase_Order SPO INNER JOIN tmp_Supplier_Purchase_Order_Product_Link t_SPOPL ON SPO.id_order = t_SPOPL.id_order AND t_SPOPL.has_order = 0 @@ -280,7 +280,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Supplier_Purchase_Order t_SPO - LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO ON t_SPO.id_order = SPO.id_order + LEFT JOIN demo.Shop_Supplier_Purchase_Order SPO ON t_SPO.id_order = SPO.id_order WHERE 1=1 AND t_SPO.id_order > 0 AND ISNULL(SPO.id_order) @@ -299,7 +299,7 @@ BEGIN , GROUP_CONCAT(CONCAT(IFNULL(t_SPO.id_stock, '(No Supplier Purchase Order)')) SEPARATOR ', ') ) AS msg FROM tmp_Supplier_Purchase_Order t_SPO - LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO ON t_SPO.id_order = SPO.id_order + LEFT JOIN demo.Shop_Supplier_Purchase_Order SPO ON t_SPO.id_order = SPO.id_order WHERE 1=1 AND t_SPO.id_stock > 0 AND ISNULL(SPO.id_stock) @@ -309,7 +309,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Supplier_Purchase_Order t_SPO - LEFT JOIN partsltd_prod.Shop_Supplier S ON t_SPO.id_supplier_ordered = S.id_supplier + LEFT JOIN demo.Shop_Supplier S ON t_SPO.id_supplier_ordered = S.id_supplier WHERE 1=1 AND ( ISNULL(S.id_supplier) @@ -330,7 +330,7 @@ BEGIN , GROUP_CONCAT(CONCAT(IFNULL(t_SPO.id_stock, '(No Supplier Purchase Order)'), ' - ', t_SPO.id_supplier_ordered) SEPARATOR ', ') ) AS msg FROM tmp_Supplier_Purchase_Order t_SPO - LEFT JOIN partsltd_prod.Shop_Supplier S ON t_SPO.id_supplier_ordered = S.id_supplier + LEFT JOIN demo.Shop_Supplier S ON t_SPO.id_supplier_ordered = S.id_supplier WHERE 1=1 AND ( ISNULL(S.id_supplier) @@ -342,7 +342,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Supplier_Purchase_Order t_SPO - LEFT JOIN partsltd_prod.Shop_Currency C ON t_SPO.id_currency_cost = C.id_currency + LEFT JOIN demo.Shop_Currency C ON t_SPO.id_currency_cost = C.id_currency WHERE 1=1 AND ( ISNULL(C.id_currency) @@ -363,7 +363,7 @@ BEGIN , GROUP_CONCAT(CONCAT(IFNULL(t_SPO.id_stock, '(No Supplier Purchase Order)'), ' - ', t_SPO.id_currency_cost) SEPARATOR ', ') ) AS msg FROM tmp_Supplier_Purchase_Order t_SPO - LEFT JOIN partsltd_prod.Shop_Currency C ON t_SPO.id_currency_cost = C.id_currency + LEFT JOIN demo.Shop_Currency C ON t_SPO.id_currency_cost = C.id_currency WHERE 1=1 AND ( ISNULL(C.id_currency) @@ -375,7 +375,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Supplier_Purchase_Order_Product_Link t_SPOPL - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM ON t_SPOPL.id_unit_quantity = UM.id_unit_measurement + LEFT JOIN demo.Shop_Unit_Measurement UM ON t_SPOPL.id_unit_quantity = UM.id_unit_measurement WHERE 1=1 AND ( ISNULL(UM.id_unit_measurement) @@ -396,7 +396,7 @@ BEGIN , GROUP_CONCAT(CONCAT(IFNULL(t_SPO.id_stock, '(No Supplier Purchase Order)'), ' - ', t_SPO.id_currency_cost) SEPARATOR ', ') ) AS msg FROM tmp_Supplier_Purchase_Order_Product_Link t_SPOPL - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM ON t_SPOPL.id_unit_quantity = UM.id_unit_measurement + LEFT JOIN demo.Shop_Unit_Measurement UM ON t_SPOPL.id_unit_quantity = UM.id_unit_measurement WHERE 1=1 AND ( ISNULL(UM.id_unit_measurement) @@ -543,7 +543,7 @@ BEGIN SELECT GROUP_CONCAT(DISTINCT PP.id_product SEPARATOR ',') FROM tmp_Supplier_Purchase_Order_Product_Link t_SPOPL - INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON t_SPOPL.id_permutation = PP.id_permutation + INNER JOIN demo.Shop_Product_Permutation PP ON t_SPOPL.id_permutation = PP.id_permutation ); IF a_debug = 1 THEN SELECT @@ -555,7 +555,7 @@ BEGIN , v_ids_product_permission -- ids_product , 0 -- a_debug ; - SELECT * from partsltd_prod.Shop_Calc_User_Temp; + SELECT * from demo.Shop_Calc_User_Temp; END IF; CALL p_shop_calc_user( @@ -569,11 +569,11 @@ BEGIN ); IF a_debug = 1 THEN - SELECT * from partsltd_prod.Shop_Calc_User_Temp WHERE GUID = a_guid; + SELECT * from demo.Shop_Calc_User_Temp WHERE GUID = a_guid; END IF; UPDATE tmp_Supplier_Purchase_Order_Product_Link t_SPOPL - INNER JOIN partsltd_prod.Shop_Calc_User_Temp CUT + INNER JOIN demo.Shop_Calc_User_Temp CUT ON t_SPOPL.id_product = t_SPOPL.id_product AND CUT.GUID = a_guid SET @@ -594,7 +594,7 @@ BEGIN , GROUP_CONCAT(P.name SEPARATOR ', ') ) AS msg FROM tmp_Supplier_Purchase_Order_Product_Link t_SPOPL - INNER JOIN partsltd_prod.Shop_Product P ON t_SPOPL.id_product = P.id_product + INNER JOIN demo.Shop_Product P ON t_SPOPL.id_product = P.id_product WHERE t_SPOPL.is_new = 0 AND t_SPOPL.can_view = 0 @@ -618,15 +618,15 @@ BEGIN , ': ' , GROUP_CONCAT(PERM.name SEPARATOR ', ') ) AS msg - FROM partsltd_prod.Shop_Access_Level AL - CROSS JOIN partsltd_prod.Shop_Calc_User_Temp CU_T + FROM demo.Shop_Access_Level AL + CROSS JOIN demo.Shop_Calc_User_Temp CU_T ON CU_T.GUID = a_guid AND ISNULL(CU_T.id_product) AND IFNULL(CU_T.can_edit, 0) = 0 ; END IF; - CALL partsltd_prod.p_shop_clear_calc_user( + CALL demo.p_shop_clear_calc_user( a_guid , 0 -- a_debug ); @@ -634,8 +634,8 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Supplier_Purchase_Order_Product_Link t_SPOPL - INNER JOIN partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON t_SPOPL.id_link = SPOPL.id_link - INNER JOIN partsltd_prod.Shop_Stock_Item SI ON SPOPL.id_permutation = SI.id_permutation + INNER JOIN demo.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON t_SPOPL.id_link = SPOPL.id_link + INNER JOIN demo.Shop_Stock_Item SI ON SPOPL.id_permutation = SI.id_permutation WHERE t_SPOPL.is_new = 0 AND t_SPOPL.quantity_received <> SPOPL.quantity_received @@ -684,7 +684,7 @@ BEGIN SET v_id_change_set := LAST_INSERT_ID(); - INSERT INTO partsltd_prod.Shop_Supplier_Purchase_Order ( + INSERT INTO demo.Shop_Supplier_Purchase_Order ( id_order_temp , id_supplier_ordered , id_currency_cost @@ -711,7 +711,7 @@ BEGIN GROUP BY t_SPO.id_order ; - UPDATE partsltd_prod.Shop_Supplier_Purchase_Order SPO + UPDATE demo.Shop_Supplier_Purchase_Order SPO INNER JOIN tmp_Supplier_Purchase_Order t_SPO ON SPO.id_order = t_SPO.id_order AND t_SPO.is_new = 0 @@ -727,7 +727,7 @@ BEGIN UPDATE tmp_Supplier_Purchase_Order t_SPO - INNER JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO + INNER JOIN demo.Shop_Supplier_Purchase_Order SPO ON t_SPO.id_order_temp = SPO.id_order_temp AND SPO.id_change_set = v_id_change_set SET @@ -780,7 +780,7 @@ BEGIN WHERE t_SPOPL.is_new = 1 ; - UPDATE partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link SPOPL + UPDATE demo.Shop_Supplier_Purchase_Order_Product_Link SPOPL INNER JOIN tmp_Supplier_Purchase_Order_Product_Link t_SPOPL ON SPOPL.id_link = t_SPOPL.id_link AND t_SPOPL.is_new = 0 @@ -819,7 +819,7 @@ BEGIN # Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN @@ -832,7 +832,7 @@ BEGIN DROP TEMPORARY TABLE tmp_Msg_Error; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; diff --git a/static/MySQL/7403_p_shop_save_supplier_purchase_order_test.sql b/static/MySQL/7403_p_shop_save_supplier_purchase_order_test.sql index f7d73755..ad514252 100644 --- a/static/MySQL/7403_p_shop_save_supplier_purchase_order_test.sql +++ b/static/MySQL/7403_p_shop_save_supplier_purchase_order_test.sql @@ -1,7 +1,7 @@ -- Clear previous proc -DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_supplier_purchase_order_test; +DROP PROCEDURE IF EXISTS demo.p_shop_save_supplier_purchase_order_test; DELIMITER // @@ -15,24 +15,24 @@ BEGIN SET v_guid := 'nips'; SELECT * - FROM partsltd_prod.Shop_Supplier_Purchase_Order + FROM demo.Shop_Supplier_Purchase_Order ; SELECT * - FROM partsltd_prod.Shop_Supplier_Purchase_Order_Temp + FROM demo.Shop_Supplier_Purchase_Order_Temp ; SELECT * - FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link + FROM demo.Shop_Supplier_Purchase_Order_Product_Link ; SELECT * - FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp + FROM demo.Shop_Supplier_Purchase_Order_Product_Link_Temp ; START TRANSACTION; - DELETE FROM partsltd_prod.Shop_Supplier_Purchase_Order_Temp; - DELETE FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp; + DELETE FROM demo.Shop_Supplier_Purchase_Order_Temp; + DELETE FROM demo.Shop_Supplier_Purchase_Order_Product_Link_Temp; - INSERT INTO partsltd_prod.Shop_Supplier_Purchase_Order_Temp ( + INSERT INTO demo.Shop_Supplier_Purchase_Order_Temp ( id_order , id_supplier_ordered , id_currency_cost @@ -54,11 +54,11 @@ BEGIN , id_currency_cost , active , v_guid - FROM partsltd_prod.Shop_Supplier_Purchase_Order + FROM demo.Shop_Supplier_Purchase_Order WHERE id_order = 6 */ ; - INSERT INTO partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp ( + INSERT INTO demo.Shop_Supplier_Purchase_Order_Product_Link_Temp ( id_link , id_order , id_permutation @@ -101,7 +101,7 @@ BEGIN , cost_total_local_VAT_excl , cost_total_local_VAT_incl , v_guid - FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link + FROM demo.Shop_Supplier_Purchase_Order_Product_Link WHERE id_order = 6 */ ; @@ -109,16 +109,16 @@ BEGIN COMMIT; SELECT * - FROM partsltd_prod.Shop_Supplier_Purchase_Order_Temp + FROM demo.Shop_Supplier_Purchase_Order_Temp WHERE GUID = v_guid ; SELECT * - FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp + FROM demo.Shop_Supplier_Purchase_Order_Product_Link_Temp WHERE GUID = v_guid ; - CALL partsltd_prod.p_shop_save_supplier_purchase_order ( + CALL demo.p_shop_save_supplier_purchase_order ( 'Test save Supplier Purchase Order' -- comment , v_guid -- guid , 1 -- id_user @@ -126,30 +126,30 @@ BEGIN ); SELECT * - FROM partsltd_prod.Shop_Supplier_Purchase_Order_Temp + FROM demo.Shop_Supplier_Purchase_Order_Temp ; SELECT * - FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp + FROM demo.Shop_Supplier_Purchase_Order_Product_Link_Temp ; SELECT * - FROM partsltd_prod.Shop_Supplier_Purchase_Order + FROM demo.Shop_Supplier_Purchase_Order ; SELECT * - FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link + FROM demo.Shop_Supplier_Purchase_Order_Product_Link ; - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END // DELIMITER ; /* -CALL partsltd_prod.p_shop_save_supplier_purchase_order_test (); +CALL demo.p_shop_save_supplier_purchase_order_test (); -DELETE FROM partsltd_prod.Shop_Supplier_Purchase_Order_Temp; -DELETE FROM partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link_Temp; +DELETE FROM demo.Shop_Supplier_Purchase_Order_Temp; +DELETE FROM demo.Shop_Supplier_Purchase_Order_Product_Link_Temp; DROP TABLE IF EXISTS tmp_Msg_Error; -Cannot add or update a child row: a foreign key constraint fails (`partsltd_prod`.`shop_supplier_address`, CONSTRAINT `FK_Shop_Supplier_Address_id_supplier` FOREIGN KEY (`id_supplier`) REFERENCES `shop_supplier` (`id_supplier`) ON UPDATE RESTRICT) +Cannot add or update a child row: a foreign key constraint fails (`demo`.`shop_supplier_address`, CONSTRAINT `FK_Shop_Supplier_Address_id_supplier` FOREIGN KEY (`id_supplier`) REFERENCES `shop_supplier` (`id_supplier`) ON UPDATE RESTRICT) */ \ No newline at end of file diff --git a/static/MySQL/7404_p_shop_get_many_supplier_purchase_order.sql b/static/MySQL/7404_p_shop_get_many_supplier_purchase_order.sql index a1091306..a5e7412e 100644 --- a/static/MySQL/7404_p_shop_get_many_supplier_purchase_order.sql +++ b/static/MySQL/7404_p_shop_get_many_supplier_purchase_order.sql @@ -33,12 +33,12 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_guid := UUID(); - SET v_id_access_level_view := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1); - SET v_code_type_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); - SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); - SET v_code_type_error_no_permission := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1); - SET v_id_type_error_no_permission := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1); - SET v_ids_permission_supplier_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM partsltd_prod.Shop_Permission WHERE code IN ('STORE_SUPPLIER', 'STORE_SUPPLIER_PURCHASE_ORDER', 'STORE_PRODUCT')); + SET v_id_access_level_view := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1); + SET v_code_type_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + SET v_code_type_error_no_permission := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1); + SET v_id_type_error_no_permission := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1); + SET v_ids_permission_supplier_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM demo.Shop_Permission WHERE code IN ('STORE_SUPPLIER', 'STORE_SUPPLIER_PURCHASE_ORDER', 'STORE_PRODUCT')); SET a_get_all_supplier := IFNULL(a_get_all_supplier, 1); SET a_get_inactive_supplier := IFNULL(a_get_inactive_supplier, 0); @@ -101,7 +101,7 @@ BEGIN -- Permutations IF v_has_filter_permutation = 1 THEN - CALL partsltd_prod.p_split(v_guid, a_ids_permutation, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_permutation, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -110,21 +110,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation + LEFT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation WHERE ISNULL(t_S.as_int) OR ISNULL(PP.id_permutation) @@ -140,7 +140,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive permutation IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation + LEFT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation WHERE ISNULL(t_S.as_int) OR ISNULL(PP.id_permutation) @@ -153,7 +153,7 @@ BEGIN SELECT PP.id_permutation FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation + RIGHT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation WHERE ( v_has_filter_permutation = 0 OR NOT ISNULL(t_S.as_int) @@ -166,7 +166,7 @@ BEGIN -- Suppliers IF v_has_filter_supplier = 1 THEN - CALL partsltd_prod.p_split(v_guid, a_ids_supplier, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_supplier, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -175,21 +175,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Supplier S ON t_S.as_int = S.id_supplier + LEFT JOIN demo.Shop_Supplier S ON t_S.as_int = S.id_supplier WHERE ISNULL(t_S.as_int) OR ISNULL(S.id_supplier) @@ -208,7 +208,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive Supplier IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Supplier S ON t_S.as_int = S.id_supplier + LEFT JOIN demo.Shop_Supplier S ON t_S.as_int = S.id_supplier WHERE ISNULL(t_S.as_int) OR ISNULL(S.id_supplier) @@ -224,7 +224,7 @@ BEGIN SELECT S.id_supplier FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Supplier S ON t_S.as_int = S.id_supplier + RIGHT JOIN demo.Shop_Supplier S ON t_S.as_int = S.id_supplier WHERE ( a_get_all_supplier = 1 OR ( @@ -244,7 +244,7 @@ BEGIN -- Supplier Purchase Orders IF v_has_filter_order = 1 THEN - CALL partsltd_prod.p_split(v_guid, a_ids_order, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_order, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -253,21 +253,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO ON t_S.as_int = SPO.id_order + LEFT JOIN demo.Shop_Supplier_Purchase_Order SPO ON t_S.as_int = SPO.id_order WHERE ISNULL(t_S.as_int) OR ISNULL(SPO.id_order) @@ -286,7 +286,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive Supplier Purchase Order IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO ON t_S.as_int = SPO.id_order + LEFT JOIN demo.Shop_Supplier_Purchase_Order SPO ON t_S.as_int = SPO.id_order WHERE ISNULL(t_S.as_int) OR ISNULL(SPO.id_order) @@ -302,9 +302,9 @@ BEGIN SELECT SPO.id_order FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO ON t_S.as_int = SPO.id_order + RIGHT JOIN demo.Shop_Supplier_Purchase_Order SPO ON t_S.as_int = SPO.id_order INNER JOIN tmp_Supplier t_SUPP ON SPO.id_supplier_ordered = t_SUPP.id_supplier - INNER JOIN partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON SPO.id_order = SPOPL.id_order + INNER JOIN demo.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON SPO.id_order = SPOPL.id_order INNER JOIN tmp_Permutation t_PP ON SPOPL.id_permutation = t_PP.id_permutation WHERE ( a_get_all_order = 1 @@ -351,7 +351,7 @@ BEGIN , '' -- ids_product , 0 -- a_debug ; - SELECT * from partsltd_prod.Shop_Calc_User_Temp; + SELECT * from demo.Shop_Calc_User_Temp; END IF; CALL p_shop_calc_user( @@ -365,10 +365,10 @@ BEGIN ); IF a_debug = 1 THEN - SELECT * from partsltd_prod.Shop_Calc_User_Temp; + SELECT * from demo.Shop_Calc_User_Temp; END IF; - IF NOT EXISTS (SELECT can_view FROM partsltd_prod.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = v_guid) THEN + IF NOT EXISTS (SELECT can_view FROM demo.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = v_guid) THEN DELETE FROM tmp_Msg_Error; INSERT INTO tmp_Msg_Error ( @@ -379,7 +379,7 @@ BEGIN VALUES ( v_id_type_error_no_permission , v_code_type_error_no_permission - , CONCAT('You do not have view permissions for ', (SELECT name FROM partsltd_prod.Shop_Permission WHERE id_permission = v_ids_permission_supplier_purchase_order LIMIT 1)) + , CONCAT('You do not have view permissions for ', (SELECT name FROM demo.Shop_Permission WHERE id_permission = v_ids_permission_supplier_purchase_order LIMIT 1)) ) ; END IF; @@ -405,7 +405,7 @@ BEGIN S.id_currency, t_S.active FROM tmp_Supplier t_S - INNER JOIN partsltd_prod.Shop_Supplier S + INNER JOIN demo.Shop_Supplier S ON t_S.id_supplier = S.id_supplier ; */ @@ -428,9 +428,9 @@ BEGIN , SPO.created_on ) AS name FROM tmp_Supplier_Purchase_Order t_SPO - INNER JOIN partsltd_prod.Shop_Supplier_Purchase_Order SPO ON SPO.id_order = t_SPO.id_order - LEFT JOIN partsltd_prod.Shop_Supplier S ON SPO.id_supplier_ordered = S.id_supplier - LEFT JOIN partsltd_prod.Shop_Currency C ON SPO.id_currency_cost = C.id_currency + INNER JOIN demo.Shop_Supplier_Purchase_Order SPO ON SPO.id_order = t_SPO.id_order + LEFT JOIN demo.Shop_Supplier S ON SPO.id_supplier_ordered = S.id_supplier + LEFT JOIN demo.Shop_Currency C ON SPO.id_currency_cost = C.id_currency ; # Supplier Purchase Order Product Link @@ -454,15 +454,15 @@ BEGIN , SPOPL.cost_unit_local_VAT_incl , SPOPL.active FROM tmp_Supplier_Purchase_Order t_SPO - INNER JOIN partsltd_prod.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON t_SPO.id_order = SPOPL.id_order - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON SPOPL.id_permutation = PP.id_permutation - LEFT JOIN partsltd_prod.Shop_Product P ON PP.id_product = P.id_product + INNER JOIN demo.Shop_Supplier_Purchase_Order_Product_Link SPOPL ON t_SPO.id_order = SPOPL.id_order + LEFT JOIN demo.Shop_Product_Permutation PP ON SPOPL.id_permutation = PP.id_permutation + LEFT JOIN demo.Shop_Product P ON PP.id_product = P.id_product ; # Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN diff --git a/static/MySQL/7415_p_shop_save_Manufacturing_purchase_order_test.sql b/static/MySQL/7415_p_shop_save_Manufacturing_purchase_order_test.sql index 9753d993..1aa09d1e 100644 --- a/static/MySQL/7415_p_shop_save_Manufacturing_purchase_order_test.sql +++ b/static/MySQL/7415_p_shop_save_Manufacturing_purchase_order_test.sql @@ -1,7 +1,7 @@ -- Clear previous proc -DROP PROCEDURE IF EXISTS partsltd_prod.p_shop_save_Manufacturing_purchase_order_test; +DROP PROCEDURE IF EXISTS demo.p_shop_save_Manufacturing_purchase_order_test; DELIMITER // @@ -15,24 +15,24 @@ BEGIN SET v_guid := 'nips'; SELECT * - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order + FROM demo.Shop_Manufacturing_Purchase_Order ; SELECT * - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp + FROM demo.Shop_Manufacturing_Purchase_Order_Temp ; SELECT * - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link + FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link ; SELECT * - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp + FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp ; START TRANSACTION; - DELETE FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp; - DELETE FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp; + DELETE FROM demo.Shop_Manufacturing_Purchase_Order_Temp; + DELETE FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp; - INSERT INTO partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp ( + INSERT INTO demo.Shop_Manufacturing_Purchase_Order_Temp ( id_order , id_currency , active @@ -51,12 +51,12 @@ BEGIN , id_currency , active , v_guid - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order + FROM demo.Shop_Manufacturing_Purchase_Order WHERE id_order = 6 */ - ;-- SELECT * FROM partsltd_prod.Shop_Unit_Measurement; + ;-- SELECT * FROM demo.Shop_Unit_Measurement; - INSERT INTO partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp ( + INSERT INTO demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp ( id_link , id_order , id_permutation @@ -96,7 +96,7 @@ BEGIN , display_order , active , v_guid - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link + FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link WHERE id_order = 6 */ ; @@ -104,16 +104,16 @@ BEGIN COMMIT; SELECT * - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp + FROM demo.Shop_Manufacturing_Purchase_Order_Temp WHERE GUID = v_guid ; SELECT * - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp + FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp WHERE GUID = v_guid ; - CALL partsltd_prod.p_shop_save_Manufacturing_purchase_order ( + CALL demo.p_shop_save_Manufacturing_purchase_order ( 'Test save Manufacturing Purchase Order' -- comment , v_guid -- guid , 1 -- id_user @@ -121,30 +121,30 @@ BEGIN ); SELECT * - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp + FROM demo.Shop_Manufacturing_Purchase_Order_Temp ; SELECT * - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp + FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp ; SELECT * - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order + FROM demo.Shop_Manufacturing_Purchase_Order ; SELECT * - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link + FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link ; - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END // DELIMITER ; /* -CALL partsltd_prod.p_shop_save_Manufacturing_purchase_order_test (); +CALL demo.p_shop_save_Manufacturing_purchase_order_test (); -DELETE FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp; -DELETE FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp; +DELETE FROM demo.Shop_Manufacturing_Purchase_Order_Temp; +DELETE FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp; DROP TABLE IF EXISTS tmp_Msg_Error; -select * from partsltd_prod.Shop_User; -Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'partsltd_prod.t_MPOPL.name_error' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by +select * from demo.Shop_User; +Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'demo.t_MPOPL.name_error' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by */ \ No newline at end of file diff --git a/static/MySQL/7415_p_shop_save_manufacturing_purchase_order.sql b/static/MySQL/7415_p_shop_save_manufacturing_purchase_order.sql index a196775e..5dc6f76a 100644 --- a/static/MySQL/7415_p_shop_save_manufacturing_purchase_order.sql +++ b/static/MySQL/7415_p_shop_save_manufacturing_purchase_order.sql @@ -53,7 +53,7 @@ BEGIN MET.id_type , @errno , @text - FROM partsltd_prod.Shop_Msg_Error_Type MET + FROM demo.Shop_Msg_Error_Type MET WHERE code = 'MYSQL_ERROR' ; SELECT * @@ -62,14 +62,14 @@ BEGIN END; SET v_time_start := CURRENT_TIMESTAMP(6); - SET v_code_type_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); - SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); - SET v_code_type_error_no_permission := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1); - SET v_id_type_error_no_permission := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1); - SET v_code_type_error_warning := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'WARNING' LIMIT 1); - SET v_id_type_error_warning := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_warning LIMIT 1); - SET v_ids_permission_manufacturing_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM partsltd_prod.Shop_Permission WHERE code IN ('STORE_MANUFACTURING_PURCHASE_ORDER', 'STORE_PRODUCT')); - SET v_id_access_level_edit := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); + SET v_code_type_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + SET v_code_type_error_no_permission := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION' LIMIT 1); + SET v_id_type_error_no_permission := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission LIMIT 1); + SET v_code_type_error_warning := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'WARNING' LIMIT 1); + SET v_id_type_error_warning := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_warning LIMIT 1); + SET v_ids_permission_manufacturing_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM demo.Shop_Permission WHERE code IN ('STORE_MANUFACTURING_PURCHASE_ORDER', 'STORE_PRODUCT')); + SET v_id_access_level_edit := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); CALL p_validate_guid ( a_guid ); SET a_comment := TRIM(IFNULL(a_comment, '')); @@ -147,8 +147,8 @@ BEGIN , IFNULL(IFNULL(MPO_T.id_currency, MPO.id_currency), '(No Currency)') ) END AS name_error - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp MPO_T - LEFT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO ON MPO_T.id_order = MPO.id_order + FROM demo.Shop_Manufacturing_Purchase_Order_Temp MPO_T + LEFT JOIN demo.Shop_Manufacturing_Purchase_Order MPO ON MPO_T.id_order = MPO.id_order WHERE MPO_T.GUID = a_guid ; @@ -180,7 +180,7 @@ BEGIN IFNULL( MPOPL_T.id_permutation , CASE WHEN NOT ISNULL(MPOPL_T.id_product) AND NOT ISNULL(MPOPL_T.csv_list_variations) THEN - partsltd_prod.fn_shop_get_id_product_permutation_from_variation_csv_list(MPOPL_T.id_product, MPOPL_T.csv_list_variations) + demo.fn_shop_get_id_product_permutation_from_variation_csv_list(MPOPL_T.id_product, MPOPL_T.csv_list_variations) ELSE NULL END ) , MPOPL.id_permutation @@ -202,18 +202,18 @@ BEGIN , IFNULL(MPOPL_T.price_unit_local_VAT_incl, MPOPL.price_unit_local_VAT_incl) AS price_unit_local_VAT_incl , NOT ISNULL(t_MPO.id_order) AS has_order , IFNULL(MPOPL_T.id_link, 0) < 1 AS is_new - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp MPOPL_T - LEFT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON MPOPL_T.id_link = MPOPL.id_link + FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp MPOPL_T + LEFT JOIN demo.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON MPOPL_T.id_link = MPOPL.id_link LEFT JOIN tmp_Manufacturing_Purchase_Order t_MPO ON MPOPL_T.id_order = t_MPO.id_order - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON MPOPL.id_permutation = PP.id_permutation + LEFT JOIN demo.Shop_Product_Permutation PP ON MPOPL.id_permutation = PP.id_permutation WHERE MPOPL_T.GUID = a_guid ; UPDATE tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL - -- INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp MPOPL_T ON t_MPOPL.id_order = MPOPL_T.id_order - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_MPOPL.id_permutation = PP.id_permutation - LEFT JOIN partsltd_prod.Shop_Product P ON PP.id_product = P.id_product - LEFT JOIN partsltd_prod.Shop_Product_Category PC ON P.id_category = PC.id_category + -- INNER JOIN demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp MPOPL_T ON t_MPOPL.id_order = MPOPL_T.id_order + LEFT JOIN demo.Shop_Product_Permutation PP ON t_MPOPL.id_permutation = PP.id_permutation + LEFT JOIN demo.Shop_Product P ON PP.id_product = P.id_product + LEFT JOIN demo.Shop_Product_Category PC ON P.id_category = PC.id_category SET name_error = CONCAT( CASE WHEN ISNULL(t_MPOPL.id_permutation) THEN @@ -261,7 +261,7 @@ BEGIN , ' - ' , IFNULL(MPO.id_currency, '(No Currency)') ) AS name_error - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order MPO + FROM demo.Shop_Manufacturing_Purchase_Order MPO INNER JOIN tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL ON MPO.id_order = t_MPOPL.id_order AND t_MPOPL.has_order = 0 @@ -291,7 +291,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Manufacturing_Purchase_Order t_MPO - LEFT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO ON t_MPO.id_order = MPO.id_order + LEFT JOIN demo.Shop_Manufacturing_Purchase_Order MPO ON t_MPO.id_order = MPO.id_order WHERE 1=1 AND t_MPO.id_order > 0 AND ISNULL(MPO.id_order) @@ -310,7 +310,7 @@ BEGIN , GROUP_CONCAT(t_MPO.name_error SEPARATOR ', ') ) AS msg FROM tmp_Manufacturing_Purchase_Order t_MPO - LEFT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO ON t_MPO.id_order = MPO.id_order + LEFT JOIN demo.Shop_Manufacturing_Purchase_Order MPO ON t_MPO.id_order = MPO.id_order WHERE 1=1 AND t_MPO.id_order > 0 AND ISNULL(MPO.id_order) @@ -320,7 +320,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Manufacturing_Purchase_Order t_MPO - LEFT JOIN partsltd_prod.Shop_Currency C ON t_MPO.id_currency = C.id_currency + LEFT JOIN demo.Shop_Currency C ON t_MPO.id_currency = C.id_currency WHERE 1=1 AND ( ISNULL(C.id_currency) @@ -341,7 +341,7 @@ BEGIN , GROUP_CONCAT(CONCAT(t_MPO.name_error, ' - ', t_MPO.id_currency) SEPARATOR ', ') ) AS msg FROM tmp_Manufacturing_Purchase_Order t_MPO - LEFT JOIN partsltd_prod.Shop_Currency C ON t_MPO.id_currency = C.id_currency + LEFT JOIN demo.Shop_Currency C ON t_MPO.id_currency = C.id_currency WHERE 1=1 AND ( ISNULL(C.id_currency) @@ -353,7 +353,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_quantity = UM.id_unit_measurement + LEFT JOIN demo.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_quantity = UM.id_unit_measurement WHERE 1=1 AND ( ISNULL(UM.id_unit_measurement) @@ -374,7 +374,7 @@ BEGIN , GROUP_CONCAT(CONCAT(t_MPOPL.name_error, ' - ', t_MPO.id_unit_quantity) SEPARATOR ', ') ) AS msg FROM tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_quantity = UM.id_unit_measurement + LEFT JOIN demo.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_quantity = UM.id_unit_measurement WHERE 1=1 AND ( ISNULL(UM.id_unit_measurement) @@ -434,7 +434,7 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_latency_manufacture = UM.id_unit_measurement + LEFT JOIN demo.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_latency_manufacture = UM.id_unit_measurement WHERE ISNULL(t_MPOPL.id_unit_latency_manufacture) OR ISNULL(UM.id_unit_measurement) @@ -454,7 +454,7 @@ BEGIN , GROUP_CONCAT(CONCAT(t_MPOPL.name_error, ' - ', t_MPOPL.id_unit_latency_manufacture) SEPARATOR ', ') ) AS msg FROM tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL - LEFT JOIN partsltd_prod.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_latency_manufacture = UM.id_unit_measurement + LEFT JOIN demo.Shop_Unit_Measurement UM ON t_MPOPL.id_unit_latency_manufacture = UM.id_unit_measurement WHERE ISNULL(t_MPOPL.id_unit_latency_manufacture) OR ISNULL(UM.id_unit_measurement) @@ -656,7 +656,7 @@ BEGIN SELECT GROUP_CONCAT(DISTINCT PP.id_product SEPARATOR ',') FROM tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL - INNER JOIN partsltd_prod.Shop_Product_Permutation PP ON t_MPOPL.id_permutation = PP.id_permutation + INNER JOIN demo.Shop_Product_Permutation PP ON t_MPOPL.id_permutation = PP.id_permutation ); IF a_debug = 1 THEN SELECT @@ -669,7 +669,7 @@ BEGIN , 0 -- a_debug ; SELECT * - FROM partsltd_prod.Shop_Calc_User_Temp + FROM demo.Shop_Calc_User_Temp WHERE GUID = a_guid ; END IF; @@ -685,10 +685,10 @@ BEGIN ); IF a_debug = 1 THEN - SELECT * from partsltd_prod.Shop_Calc_User_Temp WHERE GUID = a_guid; + SELECT * from demo.Shop_Calc_User_Temp WHERE GUID = a_guid; END IF; - IF EXISTS (SELECT * FROM partsltd_prod.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = a_guid AND IFNULL(UE_T.can_view, 0) = 0) THEN + IF EXISTS (SELECT * FROM demo.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = a_guid AND IFNULL(UE_T.can_view, 0) = 0) THEN DELETE FROM tmp_Msg_Error; INSERT INTO tmp_Msg_Error ( @@ -703,15 +703,15 @@ BEGIN 'You do not have edit permissions for ' , GROUP_CONCAT(name SEPARATOR ', ') ) - FROM partsltd_prod.Shop_Permission PERM - INNER JOIN partsltd_prod.Shop_Calc_User_Temp UE_T + FROM demo.Shop_Permission PERM + INNER JOIN demo.Shop_Calc_User_Temp UE_T ON PERM.id_permission = UE_T.id_permission AND UE_T.GUID = a_guid AND IFNULL(UE_T.can_view, 0) = 0 ; END IF; - CALL partsltd_prod.p_shop_clear_calc_user( + CALL demo.p_shop_clear_calc_user( a_guid , 0 -- a_debug ); @@ -720,8 +720,8 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL - INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON t_MPOPL.id_link = MPOPL.id_link - INNER JOIN partsltd_prod.Shop_Stock_Item SI ON MPOPL.id_permutation = SI.id_permutation + INNER JOIN demo.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON t_MPOPL.id_link = MPOPL.id_link + INNER JOIN demo.Shop_Stock_Item SI ON MPOPL.id_permutation = SI.id_permutation WHERE t_MPOPL.is_new = 0 AND t_MPOPL.quantity_used <> MPOPL.quantity_used @@ -752,8 +752,8 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL - INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON t_MPOPL.id_link = MPOPL.id_link - INNER JOIN partsltd_prod.Shop_Stock_Item SI ON MPOPL.id_permutation = SI.id_permutation + INNER JOIN demo.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON t_MPOPL.id_link = MPOPL.id_link + INNER JOIN demo.Shop_Stock_Item SI ON MPOPL.id_permutation = SI.id_permutation WHERE t_MPOPL.is_new = 0 AND t_MPOPL.quantity_produced <> MPOPL.quantity_produced @@ -802,7 +802,7 @@ BEGIN SET v_id_change_set := LAST_INSERT_ID(); - INSERT INTO partsltd_prod.Shop_Manufacturing_Purchase_Order ( + INSERT INTO demo.Shop_Manufacturing_Purchase_Order ( id_order_temp , id_currency , cost_total_local_VAT_excl @@ -831,7 +831,7 @@ BEGIN ; UPDATE tmp_Manufacturing_Purchase_Order t_MPO - INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO + INNER JOIN demo.Shop_Manufacturing_Purchase_Order MPO ON t_MPO.id_order_temp = MPO.id_order_temp AND MPO.id_change_set = v_id_change_set SET @@ -885,7 +885,7 @@ BEGIN WHERE t_MPOPL.is_new = 1 ; - UPDATE partsltd_prod.Shop_Manufacturing_Purchase_Order MPO + UPDATE demo.Shop_Manufacturing_Purchase_Order MPO INNER JOIN tmp_Manufacturing_Purchase_Order t_MPO ON MPO.id_order = t_MPO.id_order AND t_MPO.is_new = 0 @@ -900,7 +900,7 @@ BEGIN , MPO.id_change_set = v_id_change_set ; - UPDATE partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL + UPDATE demo.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL INNER JOIN tmp_Manufacturing_Purchase_Order_Product_Link t_MPOPL ON MPOPL.id_link = t_MPOPL.id_link AND t_MPOPL.is_new = 0 @@ -927,11 +927,11 @@ BEGIN START TRANSACTION; DELETE MPO_T - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Temp MPO_T + FROM demo.Shop_Manufacturing_Purchase_Order_Temp MPO_T WHERE MPO_T.GUID = a_guid ; DELETE MPOPL_T - FROM partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link_Temp MPOPL_T + FROM demo.Shop_Manufacturing_Purchase_Order_Product_Link_Temp MPOPL_T WHERE MPOPL_T.GUID = a_guid ; @@ -940,7 +940,7 @@ BEGIN # Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN @@ -953,7 +953,7 @@ BEGIN DROP TEMPORARY TABLE tmp_Msg_Error; IF a_debug = 1 THEN - CALL partsltd_prod.p_debug_timing_reporting ( v_time_start ); + CALL demo.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; diff --git a/static/MySQL/7416_p_shop_get_many_manufacturing_purchase_order.sql b/static/MySQL/7416_p_shop_get_many_manufacturing_purchase_order.sql index 25051169..68ed248c 100644 --- a/static/MySQL/7416_p_shop_get_many_manufacturing_purchase_order.sql +++ b/static/MySQL/7416_p_shop_get_many_manufacturing_purchase_order.sql @@ -29,12 +29,12 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_guid := UUID(); - SET v_id_access_level_view := (SELECT id_access_level FROM partsltd_prod.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1); - SET v_code_type_error_bad_data := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); - SET v_id_type_error_bad_data := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); - SET v_code_type_error_no_permission := (SELECT code FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION'); - SET v_id_type_error_no_permission := (SELECT id_type FROM partsltd_prod.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission); - SET v_ids_permission_manufacturing_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM partsltd_prod.Shop_Permission WHERE code IN ('STORE_MANUFACTURING_PURCHASE_ORDER', 'STORE_PRODUCT')); + SET v_id_access_level_view := (SELECT id_access_level FROM demo.Shop_Access_Level WHERE code = 'VIEW' LIMIT 1); + SET v_code_type_error_bad_data := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + SET v_code_type_error_no_permission := (SELECT code FROM demo.Shop_Msg_Error_Type WHERE code = 'NO_PERMISSION'); + SET v_id_type_error_no_permission := (SELECT id_type FROM demo.Shop_Msg_Error_Type WHERE code = v_code_type_error_no_permission); + SET v_ids_permission_manufacturing_purchase_order := (SELECT GROUP_CONCAT(id_permission SEPARATOR ',') FROM demo.Shop_Permission WHERE code IN ('STORE_MANUFACTURING_PURCHASE_ORDER', 'STORE_PRODUCT')); SET a_get_all_order := IFNULL(a_get_all_order, 1); SET a_get_inactive_order := IFNULL(a_get_inactive_order, 0); @@ -87,7 +87,7 @@ BEGIN -- Permutations IF v_has_filter_permutation = 1 THEN - CALL partsltd_prod.p_split(v_guid, a_ids_permutation, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_permutation, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -96,21 +96,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation + LEFT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation WHERE ISNULL(t_S.as_int) OR ISNULL(PP.id_permutation) @@ -126,7 +126,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive permutation IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation + LEFT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation WHERE ISNULL(t_S.as_int) OR ISNULL(PP.id_permutation) @@ -139,7 +139,7 @@ BEGIN SELECT PP.id_permutation FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation + RIGHT JOIN demo.Shop_Product_Permutation PP ON t_S.as_int = PP.id_permutation WHERE ( v_has_filter_permutation = 0 OR NOT ISNULL(t_S.as_int) @@ -152,7 +152,7 @@ BEGIN -- Manufacturing Purchase Orders IF v_has_filter_order = 1 THEN - CALL partsltd_prod.p_split(v_guid, a_ids_order, ',', a_debug); + CALL demo.p_split(v_guid, a_ids_order, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -161,21 +161,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM partsltd_prod.Split_Temp + FROM demo.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL partsltd_prod.p_clear_split_temp( v_guid ); + CALL demo.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO ON t_S.as_int = MPO.id_order + LEFT JOIN demo.Shop_Manufacturing_Purchase_Order MPO ON t_S.as_int = MPO.id_order WHERE ISNULL(t_S.as_int) OR ISNULL(MPO.id_order) @@ -194,7 +194,7 @@ BEGIN v_code_type_error_bad_data, CONCAT('Invalid or inactive Manufacturing Purchase Order IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO ON t_S.as_int = MPO.id_order + LEFT JOIN demo.Shop_Manufacturing_Purchase_Order MPO ON t_S.as_int = MPO.id_order WHERE ISNULL(t_S.as_int) OR ISNULL(MPO.id_order) @@ -210,8 +210,8 @@ BEGIN SELECT MPO.id_order FROM tmp_Split t_S - RIGHT JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO ON t_S.as_int = MPO.id_order - INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON MPO.id_order = MPOPL.id_order + RIGHT JOIN demo.Shop_Manufacturing_Purchase_Order MPO ON t_S.as_int = MPO.id_order + INNER JOIN demo.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON MPO.id_order = MPOPL.id_order INNER JOIN tmp_Permutation t_PP ON MPOPL.id_permutation = t_PP.id_permutation WHERE ( a_get_all_order = 1 @@ -254,7 +254,7 @@ BEGIN , '' -- ids_product , 0 -- a_debug ; - SELECT * FROM partsltd_prod.Shop_Calc_User_Temp; + SELECT * FROM demo.Shop_Calc_User_Temp; END IF; CALL p_shop_calc_user( @@ -268,10 +268,10 @@ BEGIN ); IF a_debug = 1 THEN - SELECT * FROM partsltd_prod.Shop_Calc_User_Temp; + SELECT * FROM demo.Shop_Calc_User_Temp; END IF; - IF NOT EXISTS (SELECT can_view FROM partsltd_prod.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = v_guid) THEN + IF NOT EXISTS (SELECT can_view FROM demo.Shop_Calc_User_Temp UE_T WHERE UE_T.GUID = v_guid) THEN DELETE FROM tmp_Msg_Error; INSERT INTO tmp_Msg_Error ( @@ -282,7 +282,7 @@ BEGIN VALUES ( v_id_type_error_no_permission , v_code_type_error_no_permission - , CONCAT('You do not have view permissions for ', IFNULL((SELECT IFNULL(name, '(No Permission Name)') FROM partsltd_prod.Shop_Permission WHERE FIND_IN_SET(id_permission, v_ids_permission_manufacturing_purchase_order) > 0 LIMIT 1), '(No Permissions Found)')) + , CONCAT('You do not have view permissions for ', IFNULL((SELECT IFNULL(name, '(No Permission Name)') FROM demo.Shop_Permission WHERE FIND_IN_SET(id_permission, v_ids_permission_manufacturing_purchase_order) > 0 LIMIT 1), '(No Permissions Found)')) ) ; END IF; @@ -308,7 +308,7 @@ BEGIN S.id_currency, t_S.active FROM tmp_Manufacturing t_S - INNER JOIN partsltd_prod.Shop_Manufacturing S + INNER JOIN demo.Shop_Manufacturing S ON t_S.id_manufacturing = S.id_manufacturing ; */ @@ -331,8 +331,8 @@ BEGIN , MPO.created_on ) AS name FROM tmp_Manufacturing_Purchase_Order t_MPO - INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order MPO ON MPO.id_order = t_MPO.id_order - LEFT JOIN partsltd_prod.Shop_Currency C ON MPO.id_currency = C.id_currency + INNER JOIN demo.Shop_Manufacturing_Purchase_Order MPO ON MPO.id_order = t_MPO.id_order + LEFT JOIN demo.Shop_Currency C ON MPO.id_currency = C.id_currency ; # Manufacturing Purchase Order Product Link @@ -356,15 +356,15 @@ BEGIN , MPOPL.price_unit_local_VAT_incl , MPOPL.active FROM tmp_Manufacturing_Purchase_Order t_MPO - INNER JOIN partsltd_prod.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON t_MPO.id_order = MPOPL.id_order - LEFT JOIN partsltd_prod.Shop_Product_Permutation PP ON MPOPL.id_permutation = PP.id_permutation - LEFT JOIN partsltd_prod.Shop_Product P ON PP.id_product = P.id_product + INNER JOIN demo.Shop_Manufacturing_Purchase_Order_Product_Link MPOPL ON t_MPO.id_order = MPOPL.id_order + LEFT JOIN demo.Shop_Product_Permutation PP ON MPOPL.id_permutation = PP.id_permutation + LEFT JOIN demo.Shop_Product P ON PP.id_product = P.id_product ; # Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN partsltd_prod.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN demo.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN @@ -400,9 +400,9 @@ CALL p_shop_get_many_manufacturing_purchase_order ( select * -from partsltd_prod.shop_manufacturing_purchase_order +from demo.shop_manufacturing_purchase_order ; select * -from partsltd_prod.shop_manufacturing_purchase_order_product_link +from demo.shop_manufacturing_purchase_order_product_link ; */ diff --git a/static/MySQL/9000_populate.sql b/static/MySQL/9000_populate.sql index 4ae5db68..e6d41366 100644 --- a/static/MySQL/9000_populate.sql +++ b/static/MySQL/9000_populate.sql @@ -631,12 +631,12 @@ VALUES , (71, 2, '197g', '197 grams', 4, 197) ; -INSERT INTO partsltd_prod.Shop_Product_Change_Set ( +INSERT INTO demo.Shop_Product_Change_Set ( comment ) VALUES ( 'Update Variation Display Orders' ) ; -UPDATE partsltd_prod.Shop_Variation V +UPDATE demo.Shop_Variation V INNER JOIN ( SELECT V.id_variation, @@ -661,8 +661,8 @@ INNER JOIN ( , IFNULL(IFNULL(UM.symbol, UM.name_singular), '(No Unit of Measurement)') ) ) as new_order - FROM partsltd_prod.Shop_Variation V - INNER JOIN partsltd_prod.Shop_Unit_Measurement UM + FROM demo.Shop_Variation V + INNER JOIN demo.Shop_Unit_Measurement UM ON V.id_unit_measurement = UM.id_unit_measurement AND UM.active = 1 WHERE @@ -670,7 +670,7 @@ INNER JOIN ( ) AS RANKED ON V.id_variation = RANKED.id_variation JOIN ( SELECT CS.id_change_set - FROM partsltd_prod.Shop_Product_Change_Set CS + FROM demo.Shop_Product_Change_Set CS ORDER BY CS.id_change_set DESC LIMIT 1 ) AS CS diff --git a/static/MySQL/deprecated/000_init_tables_authentication.sql b/static/MySQL/deprecated/000_init_tables_authentication.sql deleted file mode 100644 index 9acee9ce..00000000 --- a/static/MySQL/deprecated/000_init_tables_authentication.sql +++ /dev/null @@ -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; - - diff --git a/static/MySQL/deprecated/000_init_tables_product.sql b/static/MySQL/deprecated/000_init_tables_product.sql deleted file mode 100644 index 31fa9bb9..00000000 --- a/static/MySQL/deprecated/000_init_tables_product.sql +++ /dev/null @@ -1,1520 +0,0 @@ -/* Store */ - - - -# Delete old tables -DROP TABLE IF EXISTS Shop_Product_Delivery_Region_Link_Audit; -DROP TABLE IF EXISTS Shop_Product_Delivery_Region_Link; - -DROP TABLE IF EXISTS Shop_Delivery_Region_Audit; -DROP TABLE IF EXISTS Shop_Delivery_Region; - -DROP TABLE IF EXISTS Shop_Delivery_Option_Audit; -DROP TABLE IF EXISTS Shop_Delivery_Option; - -DROP TABLE IF EXISTS Shop_Delivery_Option_Type_Audit; -DROP TABLE IF EXISTS Shop_Delivery_Option_Type; - -DROP TABLE IF EXISTS Shop_Product_Image_Link_Audit; -DROP TABLE IF EXISTS Shop_Product_Image_Link; - -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_Variation_Link_Audit; -DROP TABLE IF EXISTS Shop_Product_Variation_Link; - -DROP TABLE IF EXISTS Shop_Variation_Audit; -DROP TABLE IF EXISTS Shop_Variation; - -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_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 Shop_Product_Change_Set; - - - -# Product Change Sets -CREATE TABLE Shop_Product_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_Product_Change_Set -BEFORE INSERT ON Shop_Product_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_Product_Change_Set; - - - -# File Types -CREATE TABLE File_Type ( - id_type INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - code VARCHAR(50), - name VARCHAR(100), - extension VARCHAR(50), - created_on DATETIME, - created_by INT, - updated_last_on DATETIME, - updated_last_by VARCHAR(100) -); - -DELIMITER // -CREATE TRIGGER before_insert_File_Type -BEFORE INSERT ON File_Type -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 ; - -CREATE TABLE File_Type_Audit ( - id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - id_type INT 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(500), - value_new VARCHAR(500), - created_on DATETIME, - created_by INT, - updated_last_on DATETIME, - updated_last_by VARCHAR(100) -); - -DELIMITER // -CREATE TRIGGER before_insert_File_Type_Audit -BEFORE INSERT ON File_Type_Audit -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_File_Type_Audit -BEFORE UPDATE ON File_Type_Audit -FOR EACH ROW -BEGIN - SET NEW.updated_last_on = NOW(); - SET NEW.updated_last_by = CURRENT_USER(); -END // -DELIMITER ; - -DELIMITER // -CREATE TRIGGER before_update_File_Type -BEFORE UPDATE ON File_Type -FOR EACH ROW -BEGIN - INSERT INTO File_Type_Audit ( - id_type, - name_field, - value_prev, - value_new - ) - # Changed code - SELECT NEW.id_type, 'code', OLD.code, NEW.code - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_type, 'name', OLD.name, NEW.name - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed extension - SELECT NEW.id_type, 'extension', CONVERT(OLD.extension, CHAR), CONVERT(NEW.extension, CHAR) - WHERE NOT OLD.extension <=> NEW.extension - ; -END // -DELIMITER ; - -INSERT INTO File_Type ( - code, name, extension -) -VALUES - ('JPEG', 'Joint Photographic Export Group', 'jpg'), - ('PNG', 'Portable Network Graphic', 'png'), - ('GIF', 'GIF', 'gif'), - ('MPEG-4', 'Multimedia Photographic Export Group 4', 'mp4') -; - -SELECT * FROM File_Type; -SELECT * FROM File_Type_Audit; - - - -# Generic / shared properties -CREATE TABLE Shop_General ( - id_general INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - quantity_max FLOAT, - created_on DATETIME, - created_by INT, - id_change_set INT, - CONSTRAINT FK_Shop_General_id_change_set - FOREIGN KEY (id_change_set) - REFERENCES Shop_Product_Change_Set(id_change_set) -); - -DELIMITER // -CREATE TRIGGER before_insert_Shop_General -BEFORE INSERT ON Shop_General -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 ; - -CREATE TABLE Shop_General_Audit ( - id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - id_general INT 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(500), - value_new VARCHAR(500), - id_change_set INT NOT NULL, - CONSTRAINT FK_Shop_General_Audit_id_change_set - FOREIGN KEY (id_change_set) - REFERENCES Shop_Product_Change_Set(id_change_set) -); - -DELIMITER // -CREATE TRIGGER before_update_Shop_General -BEFORE UPDATE ON Shop_General -FOR EACH ROW -BEGIN - INSERT INTO Shop_General_Audit ( - id_general, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed quantity max - SELECT NEW.id_general, 'quantity_max', CONVERT(OLD.quantity_max, CHAR), CONVERT(NEW.quantity_max, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_max <=> NEW.quantity_max - ; -END // -DELIMITER ; - -INSERT INTO Shop_General ( - quantity_max -) -VALUES ( - 10 -); - -SELECT * FROM Shop_General; -SELECT * FROM Shop_General_Audit; - - - -# Categories -CREATE TABLE Shop_Product_Category ( - id_category INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - code VARCHAR(50), - name VARCHAR(255), - description VARCHAR(4000), - 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_Category_id_change_set - FOREIGN KEY (id_change_set) - REFERENCES Shop_Product_Change_Set(id_change_set) -); - -DELIMITER // -CREATE TRIGGER before_insert_Shop_Product_Category -BEFORE INSERT ON Shop_Product_Category -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 ; - -CREATE TABLE Shop_Product_Category_Audit ( - id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - id_category INT 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(500), - value_new VARCHAR(500), - id_change_set INT NOT NULL, - CONSTRAINT FK_Shop_Product_Category_Audit_id_change_set - FOREIGN KEY (id_change_set) - REFERENCES Shop_Product_Change_Set(id_change_set) -); - -DELIMITER // -CREATE TRIGGER before_update_Shop_Product_Category -BEFORE UPDATE ON Shop_Product_Category -FOR EACH ROW -BEGIN - INSERT INTO Shop_Product_Category_Audit ( - id_category, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_category, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_category, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed description - SELECT NEW.id_category, 'description', OLD.description, NEW.description, NEW.id_change_set - WHERE NOT OLD.description <=> NEW.description - UNION - # Changed active - SELECT NEW.id_category, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set - WHERE NOT (OLD.active <=> NEW.active) - UNION - # Changed display_order - SELECT NEW.id_category, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set - WHERE NOT OLD.display_order <=> NEW.display_order - ; -END // -DELIMITER ; - -INSERT INTO Shop_Product_Category ( - display_order, - code, - name, - description -) -VALUES ( - 1, - 'MISC', - 'Miscellaneous', - 'Not category allocated products' -); - -SELECT * FROM Shop_Product_Category; -SELECT * FROM Shop_Product_Category_Audit; - - - -# Recurrence Interval -CREATE TABLE Shop_Interval_Recurrence ( - id_interval INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - code VARCHAR(50), - name VARCHAR(255), - name_plural VARCHAR(256), - 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) -); - -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 ; - -CREATE TABLE 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) -); - -DELIMITER // -CREATE TRIGGER before_update_Shop_Interval_Recurrence -BEFORE UPDATE ON Shop_Interval_Recurrence -FOR EACH ROW -BEGIN - 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 - ; -END // -DELIMITER ; - -INSERT INTO Shop_Interval_Recurrence ( - code, name, name_plural -) -VALUES - ('WEEK', 'Week', 'Weeks'), - ('MONTH', 'Month', 'Months'), - ('YEAR', 'Year', 'Years') -; - -SELECT * FROM Shop_Interval_Recurrence; -SELECT * FROM Shop_Interval_Recurrence_Audit; - - - -# Products -CREATE TABLE Shop_Product ( - id_product INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - name VARCHAR(255), - description VARCHAR(4000), - price_GBP FLOAT, - id_category INT NOT NULL, - CONSTRAINT FK_Shop_Product_id_category - FOREIGN KEY (id_category) - REFERENCES Shop_Product_Category(id_category) - ON UPDATE RESTRICT, - latency_manuf INT NOT NULL DEFAULT 14, - quantity_min FLOAT NOT NULL DEFAULT 1, - quantity_max FLOAT NOT NULL DEFAULT 1, # @_quantity_max, - quantity_step FLOAT NOT NULL DEFAULT 1, - quantity_stock FLOAT NOT NULL DEFAULT 0, - is_subscription BIT NOT NULL DEFAULT 0, - id_unit_measurement_interval_recurrence INT, - 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 INT, - id_stripe_product VARCHAR(100), - id_stripe_price VARCHAR(100), - 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_id_change_set - FOREIGN KEY (id_change_set) - REFERENCES Shop_Product_Change_Set(id_change_set) -); - -DELIMITER // -CREATE TRIGGER before_insert_Shop_Product -BEFORE INSERT ON Shop_Product -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 ; - -CREATE TABLE Shop_Product_Audit ( - id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - id_product INT 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(500), - value_new VARCHAR(500), - id_change_set INT NOT NULL, - CONSTRAINT FK_Shop_Product_Audit_id_change_set - FOREIGN KEY (id_change_set) - REFERENCES Shop_Product_Change_Set(id_change_set) -); - -DELIMITER // -CREATE TRIGGER before_update_Shop_Product -BEFORE UPDATE ON Shop_Product -FOR EACH ROW -BEGIN - INSERT INTO Shop_Product_Audit ( - id_product, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed name - SELECT NEW.id_product, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed description - SELECT NEW.id_product, 'description', OLD.description, NEW.description, NEW.id_change_set - WHERE NOT OLD.description <=> NEW.description - UNION - # Changed price_GBP - SELECT NEW.id_product, 'price_GBP', CONVERT(OLD.price_GBP, CHAR), CONVERT(NEW.price_GBP, CHAR), NEW.id_change_set - WHERE NOT OLD.price_GBP <=> NEW.price_GBP - UNION - # Changed id_category - SELECT NEW.id_product, 'id_category', CONVERT(OLD.id_category, CHAR), CONVERT(NEW.id_category, CHAR), NEW.id_change_set - WHERE NOT OLD.id_category <=> NEW.id_category - UNION - # Changed latency_manuf - SELECT NEW.id_product, 'latency_manuf', CONVERT(OLD.latency_manuf, CHAR), CONVERT(NEW.latency_manuf, CHAR), NEW.id_change_set - WHERE NOT OLD.latency_manuf <=> NEW.latency_manuf - UNION - # Changed quantity_min - SELECT NEW.id_product, 'quantity_min', CONVERT(OLD.quantity_min, CHAR), CONVERT(NEW.quantity_min, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_min <=> NEW.quantity_min - UNION - # Changed quantity_max - SELECT NEW.id_product, 'quantity_max', CONVERT(OLD.quantity_max, CHAR), CONVERT(NEW.quantity_max, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_max <=> NEW.quantity_max - UNION - # Changed quantity_step - SELECT NEW.id_product, 'quantity_step', CONVERT(OLD.quantity_step, CHAR), CONVERT(NEW.quantity_step, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_step <=> NEW.quantity_step - UNION - # Changed quantity_stock - SELECT NEW.id_product, 'quantity_stock', CONVERT(OLD.quantity_stock, CHAR), CONVERT(NEW.quantity_stock, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_stock <=> NEW.quantity_stock - UNION - # Changed is_subscription - SELECT NEW.id_product, 'is_subscription', CONVERT(CONVERT(OLD.is_subscription, SIGNED), CHAR), CONVERT(CONVERT(NEW.is_subscription, SIGNED), CHAR), NEW.id_change_set - WHERE NOT OLD.is_subscription <=> NEW.is_subscription - UNION - # Changed id_unit_measurement_interval_recurrence - SELECT NEW.id_product, 'id_unit_measurement_interval_recurrence', CONVERT(OLD.id_unit_measurement_interval_recurrence, CHAR), CONVERT(NEW.id_unit_measurement_interval_recurrence, CHAR), NEW.id_change_set - WHERE NOT OLD.id_unit_measurement_interval_recurrence <=> NEW.id_unit_measurement_interval_recurrence - UNION - # Changed count_interval_recurrence - SELECT NEW.id_product, 'count_interval_recurrence', CONVERT(OLD.count_interval_recurrence, CHAR), CONVERT(NEW.count_interval_recurrence, CHAR), NEW.id_change_set - WHERE NOT OLD.count_interval_recurrence <=> NEW.count_interval_recurrence - UNION - # Changed id_stripe_product - SELECT NEW.id_product, 'id_stripe_product', OLD.id_stripe_product, NEW.id_stripe_product, NEW.id_change_set - WHERE NOT OLD.id_stripe_product <=> NEW.id_stripe_product - UNION - # Changed id_stripe_price - SELECT NEW.id_product, '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_product, '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_product, '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 ; - -INSERT INTO Shop_Product ( - display_order, - name, - description, - price_GBP, - id_category, - latency_manuf, - quantity_stock, - id_stripe_product, - id_stripe_price -) -VALUES ( - 1, - 'Braille Keyboard Translator', - 'Translate text into 3D Braille keyboard.', - 25, - 1, - 14, - 99, - 'prod_PB0NUOSEs06ymG', - 'price_1OMeN9L7BuLKjoMpyMY6Aae4' -); - -SELECT * FROM Shop_Product; -SELECT * FROM Shop_Product_Audit; - - - -# Variation Types -CREATE TABLE Shop_Variation_Type ( - id_type INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - code VARCHAR(50), - name VARCHAR(255), - name_plural VARCHAR(256), - active BIT NOT NULL DEFAULT 1, - display_order INT NOT NULL, - created_on DATETIME, - created_by INT, - id_change_set INT, - CONSTRAINT FK_Shop_Variation_Type_id_change_set - FOREIGN KEY (id_change_set) - REFERENCES Shop_Product_Change_Set(id_change_set) -); - -DELIMITER // -CREATE TRIGGER before_insert_Shop_Variation_Type -BEFORE INSERT ON Shop_Variation_Type -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 ; - -CREATE TABLE Shop_Variation_Type_Audit ( - id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - id_type INT 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(500), - value_new VARCHAR(500), - id_change_set INT NOT NULL, - CONSTRAINT FK_Shop_Variation_Type_Audit_id_change_set - FOREIGN KEY (id_change_set) - REFERENCES Shop_Product_Change_Set(id_change_set) -); - -DELIMITER // -CREATE TRIGGER before_update_Shop_Variation_Type -BEFORE UPDATE ON Shop_Variation_Type -FOR EACH ROW -BEGIN - INSERT INTO Shop_Variation_Type_Audit ( - id_type, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_type, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_type, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed name_plural - SELECT NEW.id_type, 'name_plural', OLD.name_plural, NEW.name_plural, NEW.id_change_set - WHERE NOT OLD.name_plural <=> NEW.name_plural - UNION - # Changed active - SELECT NEW.id_type, '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_type, '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 ; - -INSERT INTO Shop_Variation_Type ( - display_order, code, name, name_plural -) -VALUES - (1, 'COLOUR', 'Colour', 'Colours') -; - -SELECT * FROM Shop_Variation_Type; -SELECT * FROM Shop_Variation_Type_Audit; - - - -# Variations -CREATE TABLE Shop_Variation ( - id_variation INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - id_type INT 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 BIT NOT NULL DEFAULT 1, - display_order INT NOT NULL, - created_on DATETIME, - created_by INT, - id_change_set INT, - CONSTRAINT FK_Shop_Variation_id_change_set - FOREIGN KEY (id_change_set) - REFERENCES Shop_Product_Change_Set(id_change_set) -); - -DELIMITER // -CREATE TRIGGER before_insert_Shop_Variation -BEFORE INSERT ON Shop_Variation -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 ; - -CREATE TABLE Shop_Variation_Audit ( - id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - id_variation INT 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(500), - value_new VARCHAR(500), - id_change_set INT NOT NULL, - CONSTRAINT FK_Shop_Variation_Audit_id_change_set - FOREIGN KEY (id_change_set) - REFERENCES Shop_Product_Change_Set(id_change_set) -); - -DELIMITER // -CREATE TRIGGER before_update_Shop_Variation -BEFORE UPDATE ON Shop_Variation -FOR EACH ROW -BEGIN - INSERT INTO Shop_Variation_Audit ( - id_variation, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_variation, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_variation, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed active - SELECT NEW.id_variation, '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_variation, '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 ; - -INSERT INTO Shop_Variation ( - display_order, id_type, code, name -) -VALUES - (1, 1, 'RED', 'Red') -; - -SELECT * FROM Shop_Variation_Type; -SELECT * FROM Shop_Variation_Type_Audit; - - - -# Product Variation Link -CREATE TABLE Shop_Product_Variation_Link ( - id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - id_product INT, - CONSTRAINT FK_Shop_Product_Variation_Link_id_product - FOREIGN KEY (id_product) - REFERENCES Shop_Product(id_product) - ON UPDATE RESTRICT, - id_variation INT, - CONSTRAINT FK_Shop_Product_Variation_Link_id_variation - FOREIGN KEY (id_variation) - REFERENCES Shop_Variation(id_variation) - 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) -); - -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 ; - -CREATE TABLE 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 -); - -DELIMITER // -CREATE TRIGGER before_update_Shop_Product_Variation_Link -BEFORE UPDATE ON Shop_Product_Variation_Link -FOR EACH ROW -BEGIN - 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 ; - -INSERT INTO Shop_Product_Variation_Link ( - display_order, id_product, id_variation -) -VALUES - (1, 1, 1) -; - -SELECT * FROM Shop_Product_Variation_Link; -SELECT * FROM Shop_Product_Variation_Link_Audit; - - - -# Image Types -CREATE TABLE Shop_Image_Type ( - id_type INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - code VARCHAR(50), - name VARCHAR(255), - name_plural VARCHAR(256), - active BIT NOT NULL DEFAULT 1, - display_order INT NOT NULL, - created_on DATETIME, - created_by INT, - id_change_set INT, - CONSTRAINT FK_Shop_Image_Type_id_change_set - FOREIGN KEY (id_change_set) - REFERENCES Shop_Product_Change_Set(id_change_set) -); - -DELIMITER // -CREATE TRIGGER before_insert_Shop_Image_Type -BEFORE INSERT ON Shop_Image_Type -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 ; - -CREATE TABLE Shop_Image_Type_Audit ( - id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - id_type INT 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(500), - value_new VARCHAR(500), - id_change_set INT NOT NULL, - CONSTRAINT FK_Shop_Image_Type_Audit_id_change_set - FOREIGN KEY (id_change_set) - REFERENCES Shop_Product_Change_Set(id_change_set) -); - -DELIMITER // -CREATE TRIGGER before_update_Shop_Image_Type -BEFORE UPDATE ON Shop_Image_Type -FOR EACH ROW -BEGIN - INSERT INTO Shop_Image_Type_Audit ( - id_type, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_type, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_type, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed name_plural - SELECT NEW.id_type, 'name_plural', OLD.name_plural, NEW.name_plural, NEW.id_change_set - WHERE NOT OLD.name_plural <=> NEW.name_plural - UNION - # Changed active - SELECT NEW.id_type, '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_type, '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 ; - -INSERT INTO Shop_Image_Type ( - display_order, code, name, name_plural -) -VALUES - (1, 'FULL', 'Full Quality Image', 'Full Quality Images'), - (1, 'LOW', 'Low Quality Image', 'Low Quality Images'), - (1, 'THUMBNAIL', 'Thumbnail Image', 'Thumbnail Images') -; - -SELECT * FROM Shop_Image_Type; -SELECT * FROM Shop_Image_Type_Audit; - - - -# Images -CREATE TABLE Shop_Image ( - id_image INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - id_type INT NOT NULL, - CONSTRAINT FK_Shop_Image_id_type - FOREIGN KEY (id_type) - REFERENCES Shop_Image_Type(id_type), - id_product INT NOT NULL, - CONSTRAINT FK_Shop_Image_id_product - FOREIGN KEY (id_product) - REFERENCES Shop_Product(id_product), - url 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_Image_id_change_set - FOREIGN KEY (id_change_set) - REFERENCES Shop_Product_Change_Set(id_change_set) -); - -DELIMITER // -CREATE TRIGGER before_insert_Shop_Image -BEFORE INSERT ON Shop_Image -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 ; - -CREATE TABLE Shop_Image_Audit ( - id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - id_image INT 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(500), - value_new VARCHAR(500), - id_change_set INT NOT NULL, - CONSTRAINT FK_Shop_Image_Audit_id_change_set - FOREIGN KEY (id_change_set) - REFERENCES Shop_Product_Change_Set(id_change_set) -); - -DELIMITER // -CREATE TRIGGER before_update_Shop_Image -BEFORE UPDATE ON Shop_Image -FOR EACH ROW -BEGIN - INSERT INTO Shop_Image_Audit ( - id_image, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed id_type - SELECT NEW.id_image, 'id_type', CONVERT(OLD.id_type, CHAR), CONVERT(NEW.id_type, CHAR), NEW.id_change_set - WHERE NOT OLD.id_type <=> NEW.id_type - UNION - # Changed id_product - SELECT NEW.id_image, '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 url - SELECT NEW.id_image, 'url', OLD.url, NEW.url, NEW.id_change_set - WHERE NOT OLD.url <=> NEW.url - UNION - # Changed active - SELECT NEW.id_image, '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_image, '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 ; - -INSERT INTO Shop_Image ( - display_order, id_product, id_type, url -) -VALUES - (1, 1, 1, 'www.porn.co.uk') -; - -SELECT * FROM Shop_Image; -SELECT * FROM Shop_Image_Audit; - - -/* -# Product Image Link -CREATE TABLE Shop_Product_Image_Link ( - id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - id_product INT, - CONSTRAINT FK_Shop_Product_Image_Link_id_product - FOREIGN KEY (id_product) - REFERENCES Shop_Product(id_product) - ON UPDATE RESTRICT, - id_image INT, - CONSTRAINT FK_Shop_Product_Image_Link_id_image - FOREIGN KEY (id_image) - REFERENCES Shop_Image(id_image) - ON UPDATE RESTRICT, - active BIT NOT NULL DEFAULT 1, - created_on DATETIME, - created_by INT, - id_change_set INT, - CONSTRAINT FK_Shop_Product_Image_Link_id_change_set - FOREIGN KEY (id_change_set) - REFERENCES Shop_Product_Change_Set(id_change_set) -); - -DELIMITER // -CREATE TRIGGER before_insert_Shop_Product_Image_Link -BEFORE INSERT ON Shop_Product_Image_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_Product_Image_Link_Audit ( - id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - id_link INT NOT NULL, - CONSTRAINT FK_Shop_Product_Image_Link_Audit_id_link - FOREIGN KEY (id_link) - REFERENCES Shop_Product_Image_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_Image_Link_Audit_id_change_set - FOREIGN KEY (id_change_set) - REFERENCES Shop_Product_Change_Set(id_change_set) - ON UPDATE RESTRICT -); - -DELIMITER // -CREATE TRIGGER before_update_Shop_Product_Image_Link -BEFORE UPDATE ON Shop_Product_Image_Link -FOR EACH ROW -BEGIN - INSERT INTO Shop_Product_Image_Link_Audit ( - id_link, - name_field, - value_prev, - value_new, - id_change_set - ) - VALUES ( - ( # 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 - ), - ( # Changed id_variation - SELECT NEW.id_link, 'id_image', OLD.id_image, NEW.id_image, NEW.id_change_set - WHERE NOT OLD.id_image <=> NEW.id_image - ), - ( # Changed active - SELECT NEW.id_link, 'active', OLD.active, NEW.active, NEW.id_change_set - WHERE NOT OLD.active <=> NEW.active - ) - ); -END // -DELIMITER ; - -INSERT INTO Shop_Product_Image_Link ( - id_product, id_image -) -VALUES - (1, 1) -; - -SELECT * FROM Shop_Product_Image_Link; -SELECT * FROM Shop_Product_Image_Link_Audit; -*/ - - -# Delivery Option Types -CREATE TABLE Shop_Delivery_Option_Type ( - id_type INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - code VARCHAR(50) NOT NULL, - name VARCHAR(100) NOT NULL, - latency_delivery_min INT NOT NULL, - latency_delivery_max INT NOT NULL, - quantity_min INT NOT NULL, - quantity_max 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_Delivery_Option_Type_id_change_set - FOREIGN KEY (id_change_set) - REFERENCES Shop_Product_Change_Set(id_change_set) -); - -DELIMITER // -CREATE TRIGGER before_insert_Shop_Delivery_Option_Type -BEFORE INSERT ON Shop_Delivery_Option_Type -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 ; - -CREATE TABLE Shop_Delivery_Option_Type_Audit ( - id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - id_type INT NOT NULL, - CONSTRAINT FK_Shop_Delivery_Option_Type_Audit_id_type - FOREIGN KEY (id_type) - REFERENCES Shop_Delivery_Option_Type(id_type) - ON UPDATE RESTRICT, - name_field VARCHAR(50), - value_prev VARCHAR(500), - value_new VARCHAR(500), - id_change_set INT NOT NULL, - CONSTRAINT FK_Shop_Delivery_Option_Type_Audit_id_change_set - FOREIGN KEY (id_change_set) - REFERENCES Shop_Product_Change_Set(id_change_set) -); - -DELIMITER // -CREATE TRIGGER before_update_Shop_Delivery_Option_Type -BEFORE UPDATE ON Shop_Delivery_Option_Type -FOR EACH ROW -BEGIN - INSERT INTO Shop_Delivery_Option_Type_Audit ( - id_type, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_type, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_type, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed latency_delivery_min - SELECT NEW.id_type, 'latency_delivery_min', CONVERT(OLD.latency_delivery_min, CHAR), CONVERT(NEW.latency_delivery_min, CHAR), NEW.id_change_set - WHERE NOT OLD.latency_delivery_min <=> NEW.latency_delivery_min - UNION - # Changed latency_delivery_max - SELECT NEW.id_type, 'latency_delivery_max', CONVERT(OLD.latency_delivery_max, CHAR), CONVERT(NEW.latency_delivery_max, CHAR), NEW.id_change_set - WHERE NOT OLD.latency_delivery_max <=> NEW.latency_delivery_max - UNION - # Changed quantity_min - SELECT NEW.id_type, 'quantity_min', CONVERT(OLD.quantity_min, CHAR), CONVERT(NEW.quantity_min, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_min <=> NEW.quantity_min - UNION - # Changed quantity_max - SELECT NEW.id_type, 'quantity_max', CONVERT(OLD.quantity_max, CHAR), CONVERT(NEW.quantity_max, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_max <=> NEW.quantity_max - UNION - # Changed active - SELECT NEW.id_type, 'active', CONVERT(OLD.active, CHAR), CONVERT(NEW.active, CHAR), NEW.id_change_set - WHERE NOT OLD.active <=> NEW.active - UNION - # Changed display_order - SELECT NEW.id_type, '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 ; - -INSERT INTO Shop_Delivery_Option_Type ( - display_order, code, name, latency_delivery_min, latency_delivery_max, quantity_min, quantity_max -) -VALUES - (1, 'COLLECT', 'Collection', 0, 0, 0, 1), - (2, 'SIGNED_1', 'First Class Signed-For', 2, 4, 0, 1) -; - -SELECT * FROM Shop_Delivery_Option_Type; -SELECT * FROM Shop_Delivery_Option_Type_Audit; - - - -# Delivery Option -CREATE TABLE Shop_Delivery_Option ( - id_option INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - id_product INT, - CONSTRAINT FK_Shop_Delivery_Option_id_product - FOREIGN KEY (id_product) - REFERENCES Shop_Product(id_product) - ON UPDATE RESTRICT, - id_delivery_type INT, - CONSTRAINT FK_Shop_Delivery_Option_id_delivery_type - FOREIGN KEY (id_delivery_type) - REFERENCES Shop_Delivery_Option_Type(id_type) - ON UPDATE RESTRICT, - price_GBP FLOAT NOT NULL, - active BIT NOT NULL DEFAULT 1, - created_on DATETIME, - created_by INT, - id_change_set INT, - CONSTRAINT FK_Shop_Delivery_Option_id_change_set - FOREIGN KEY (id_change_set) - REFERENCES Shop_Product_Change_Set(id_change_set) -); - -DELIMITER // -CREATE TRIGGER before_insert_Shop_Delivery_Option -BEFORE INSERT ON Shop_Delivery_Option -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_Delivery_Option_Audit ( - id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - id_option INT 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(500), - value_new VARCHAR(500), - id_change_set INT NOT NULL, - CONSTRAINT FK_Shop_Delivery_Option_Audit_id_change_set - FOREIGN KEY (id_change_set) - REFERENCES Shop_Product_Change_Set(id_change_set) - ON UPDATE RESTRICT -); - -DELIMITER // -CREATE TRIGGER before_update_Shop_Delivery_Option -BEFORE UPDATE ON Shop_Delivery_Option -FOR EACH ROW -BEGIN - INSERT INTO Shop_Delivery_Option_Audit ( - id_option, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed id_product - SELECT NEW.id_option, '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_delivery_type - SELECT NEW.id_option, 'id_delivery_type', CONVERT(OLD.id_delivery_type, CHAR), CONVERT(NEW.id_delivery_type, CHAR), NEW.id_change_set - WHERE NOT OLD.id_delivery_type <=> NEW.id_delivery_type - UNION - # Changed price_GBP - SELECT NEW.id_option, 'price_GBP', CONVERT(OLD.price_GBP, CHAR), CONVERT(NEW.price_GBP, CHAR), NEW.id_change_set - WHERE NOT OLD.price_GBP <=> NEW.price_GBP - UNION - # Changed active - SELECT NEW.id_option, '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_Delivery_Option ( - id_product, id_delivery_type, price_GBP -) -VALUES - (1, 1, 5) -; - -SELECT * FROM Shop_Delivery_Option; -SELECT * FROM Shop_Delivery_Option_Audit; - - - -# Delivery Regions -CREATE TABLE Shop_Delivery_Region ( - id_region INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - code VARCHAR(50) NOT NULL, - name VARCHAR(200) 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_Delivery_Region_id_change_set - FOREIGN KEY (id_change_set) - REFERENCES Shop_Product_Change_Set(id_change_set) -); - -DELIMITER // -CREATE TRIGGER before_insert_Shop_Delivery_Region -BEFORE INSERT ON Shop_Delivery_Region -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 ; - -CREATE TABLE Shop_Delivery_Region_Audit ( - id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - id_region INT NOT NULL, - CONSTRAINT FK_Shop_Delivery_Region_Audit_id_region - FOREIGN KEY (id_region) - REFERENCES Shop_Delivery_Region(id_region) - ON UPDATE RESTRICT, - name_field VARCHAR(50), - value_prev VARCHAR(500), - value_new VARCHAR(500), - id_change_set INT NOT NULL, - CONSTRAINT FK_Shop_Delivery_Region_Audit_id_change_set - FOREIGN KEY (id_change_set) - REFERENCES Shop_Product_Change_Set(id_change_set) -); - -DELIMITER // -CREATE TRIGGER before_update_Shop_Delivery_Region -BEFORE UPDATE ON Shop_Delivery_Region -FOR EACH ROW -BEGIN - INSERT INTO Shop_Delivery_Region_Audit ( - id_region, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_region, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_region, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed active - SELECT NEW.id_region, 'active', CONVERT(OLD.active, CHAR), CONVERT(NEW.active, CHAR), NEW.id_change_set - WHERE NOT OLD.active <=> NEW.active - UNION - # Changed display_order - SELECT NEW.id_region, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set - WHERE NOT OLD.display_order <=> NEW.display_order - ; -END // -DELIMITER ; - -INSERT INTO Shop_Delivery_Region ( - display_order, code, name -) -VALUES - (1, 'UK', 'United Kingdom') -; - -SELECT * FROM Shop_Delivery_Region; -SELECT * FROM Shop_Delivery_Region_Audit; - - - -# Product Delivery Option Link -CREATE TABLE 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_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) -); - -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 ; - -CREATE TABLE 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 -); - -DELIMITER // -CREATE TRIGGER before_update_Shop_Product_Delivery_Region_Link -BEFORE UPDATE ON Shop_Product_Delivery_Region_Link -FOR EACH ROW -BEGIN - 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 ; - -INSERT INTO Shop_Product_Delivery_Region_Link ( - id_product, id_region -) -VALUES - (1, 1) -; - -SELECT * FROM Shop_Product_Delivery_Region_Link; -SELECT * FROM Shop_Product_Delivery_Region_Link_Audit; diff --git a/static/MySQL/deprecated/108_tbl_Shop_Recurrence_Interval.sql b/static/MySQL/deprecated/108_tbl_Shop_Recurrence_Interval.sql deleted file mode 100644 index 1a8341db..00000000 --- a/static/MySQL/deprecated/108_tbl_Shop_Recurrence_Interval.sql +++ /dev/null @@ -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) -); diff --git a/static/MySQL/deprecated/109_tbl_Shop_Recurrence_Interval_Audit.sql b/static/MySQL/deprecated/109_tbl_Shop_Recurrence_Interval_Audit.sql deleted file mode 100644 index d84813f4..00000000 --- a/static/MySQL/deprecated/109_tbl_Shop_Recurrence_Interval_Audit.sql +++ /dev/null @@ -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) -); diff --git a/static/MySQL/deprecated/113.1_tbl_Shop_Product_Variation_Type_Link.sql b/static/MySQL/deprecated/113.1_tbl_Shop_Product_Variation_Type_Link.sql deleted file mode 100644 index 38293389..00000000 --- a/static/MySQL/deprecated/113.1_tbl_Shop_Product_Variation_Type_Link.sql +++ /dev/null @@ -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) -); diff --git a/static/MySQL/deprecated/113.2_tbl_Shop_Product_Variation_Type_Link_Audit.sql b/static/MySQL/deprecated/113.2_tbl_Shop_Product_Variation_Type_Link_Audit.sql deleted file mode 100644 index 58a7f567..00000000 --- a/static/MySQL/deprecated/113.2_tbl_Shop_Product_Variation_Type_Link_Audit.sql +++ /dev/null @@ -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 -); diff --git a/static/MySQL/deprecated/116_tbl_Shop_Product_Variation_Link.sql b/static/MySQL/deprecated/116_tbl_Shop_Product_Variation_Link.sql deleted file mode 100644 index 7b5ddbc9..00000000 --- a/static/MySQL/deprecated/116_tbl_Shop_Product_Variation_Link.sql +++ /dev/null @@ -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) -); diff --git a/static/MySQL/deprecated/117.0_tbl_Shop_Product_Variation_Link_Audit.sql b/static/MySQL/deprecated/117.0_tbl_Shop_Product_Variation_Link_Audit.sql deleted file mode 100644 index 2791a952..00000000 --- a/static/MySQL/deprecated/117.0_tbl_Shop_Product_Variation_Link_Audit.sql +++ /dev/null @@ -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 -); diff --git a/static/MySQL/deprecated/128_tbl_Shop_Product_Delivery_Region_Link.sql b/static/MySQL/deprecated/128_tbl_Shop_Product_Delivery_Region_Link.sql deleted file mode 100644 index cc9873b5..00000000 --- a/static/MySQL/deprecated/128_tbl_Shop_Product_Delivery_Region_Link.sql +++ /dev/null @@ -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) -); \ No newline at end of file diff --git a/static/MySQL/deprecated/129_tbl_Shop_Product_Delivery_Region_Link_Audit.sql b/static/MySQL/deprecated/129_tbl_Shop_Product_Delivery_Region_Link_Audit.sql deleted file mode 100644 index f552c212..00000000 --- a/static/MySQL/deprecated/129_tbl_Shop_Product_Delivery_Region_Link_Audit.sql +++ /dev/null @@ -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 -); \ No newline at end of file diff --git a/static/MySQL/deprecated/170_ish_tbl_ERP_Order.sql b/static/MySQL/deprecated/170_ish_tbl_ERP_Order.sql deleted file mode 100644 index a3855931..00000000 --- a/static/MySQL/deprecated/170_ish_tbl_ERP_Order.sql +++ /dev/null @@ -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) -); diff --git a/static/MySQL/deprecated/171_tbl_Shop_User_Order.sql b/static/MySQL/deprecated/171_tbl_Shop_User_Order.sql deleted file mode 100644 index 081384ec..00000000 --- a/static/MySQL/deprecated/171_tbl_Shop_User_Order.sql +++ /dev/null @@ -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) - */ -); diff --git a/static/MySQL/deprecated/172_tbl_Shop_User_Order_Audit.sql b/static/MySQL/deprecated/172_tbl_Shop_User_Order_Audit.sql deleted file mode 100644 index ae9eedd5..00000000 --- a/static/MySQL/deprecated/172_tbl_Shop_User_Order_Audit.sql +++ /dev/null @@ -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) - */ -); diff --git a/static/MySQL/deprecated/173_tbl_Shop_User_Order_Product_Link.sql b/static/MySQL/deprecated/173_tbl_Shop_User_Order_Product_Link.sql deleted file mode 100644 index f2b8c2ed..00000000 --- a/static/MySQL/deprecated/173_tbl_Shop_User_Order_Product_Link.sql +++ /dev/null @@ -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) -); \ No newline at end of file diff --git a/static/MySQL/deprecated/174_tbl_Shop_User_Order_Product_Link_Audit.sql b/static/MySQL/deprecated/174_tbl_Shop_User_Order_Product_Link_Audit.sql deleted file mode 100644 index 0f1ca26a..00000000 --- a/static/MySQL/deprecated/174_tbl_Shop_User_Order_Product_Link_Audit.sql +++ /dev/null @@ -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) -); diff --git a/static/MySQL/deprecated/308_tri_Shop_Recurrence_Interval.sql b/static/MySQL/deprecated/308_tri_Shop_Recurrence_Interval.sql deleted file mode 100644 index 92e65558..00000000 --- a/static/MySQL/deprecated/308_tri_Shop_Recurrence_Interval.sql +++ /dev/null @@ -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 ; \ No newline at end of file diff --git a/static/MySQL/deprecated/313.1_tri_Shop_Product_Variation_Type_Link.sql b/static/MySQL/deprecated/313.1_tri_Shop_Product_Variation_Type_Link.sql deleted file mode 100644 index b035334c..00000000 --- a/static/MySQL/deprecated/313.1_tri_Shop_Product_Variation_Type_Link.sql +++ /dev/null @@ -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 ; \ No newline at end of file diff --git a/static/MySQL/deprecated/316_tri_Shop_Product_Variation_Link.sql b/static/MySQL/deprecated/316_tri_Shop_Product_Variation_Link.sql deleted file mode 100644 index 434dbde0..00000000 --- a/static/MySQL/deprecated/316_tri_Shop_Product_Variation_Link.sql +++ /dev/null @@ -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 ; \ No newline at end of file diff --git a/static/MySQL/deprecated/322_tri_Shop_Price.sql b/static/MySQL/deprecated/322_tri_Shop_Price.sql deleted file mode 100644 index 9180ab20..00000000 --- a/static/MySQL/deprecated/322_tri_Shop_Price.sql +++ /dev/null @@ -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 ; diff --git a/static/MySQL/deprecated/328_tri_Shop_Product_Delivery_Region_Link.sql b/static/MySQL/deprecated/328_tri_Shop_Product_Delivery_Region_Link.sql deleted file mode 100644 index 45647958..00000000 --- a/static/MySQL/deprecated/328_tri_Shop_Product_Delivery_Region_Link.sql +++ /dev/null @@ -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 ; \ No newline at end of file diff --git a/static/MySQL/deprecated/371_tri_Shop_User_Order.sql b/static/MySQL/deprecated/371_tri_Shop_User_Order.sql deleted file mode 100644 index 0fcda7c1..00000000 --- a/static/MySQL/deprecated/371_tri_Shop_User_Order.sql +++ /dev/null @@ -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 ; \ No newline at end of file diff --git a/static/MySQL/deprecated/373_tri_Shop_User_Order_Product_Link.sql b/static/MySQL/deprecated/373_tri_Shop_User_Order_Product_Link.sql deleted file mode 100644 index d9229e5a..00000000 --- a/static/MySQL/deprecated/373_tri_Shop_User_Order_Product_Link.sql +++ /dev/null @@ -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 ; \ No newline at end of file diff --git a/static/MySQL/deprecated/7000_p_shop_get_many_role_permission.sql b/static/MySQL/deprecated/7000_p_shop_get_many_role_permission.sql deleted file mode 100644 index 0352273e..00000000 --- a/static/MySQL/deprecated/7000_p_shop_get_many_role_permission.sql +++ /dev/null @@ -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 ; - diff --git a/static/MySQL/deprecated/7000_p_shop_get_many_user_order.sql b/static/MySQL/deprecated/7000_p_shop_get_many_user_order.sql deleted file mode 100644 index 33c37952..00000000 --- a/static/MySQL/deprecated/7000_p_shop_get_many_user_order.sql +++ /dev/null @@ -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; -*/ diff --git a/static/MySQL/deprecated/706_p_shop_get_product.sql b/static/MySQL/deprecated/706_p_shop_get_product.sql deleted file mode 100644 index fc8526c7..00000000 --- a/static/MySQL/deprecated/706_p_shop_get_product.sql +++ /dev/null @@ -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 -*/ diff --git a/static/MySQL/deprecated/9001_add_user.sql b/static/MySQL/deprecated/9001_add_user.sql deleted file mode 100644 index daf03e61..00000000 --- a/static/MySQL/deprecated/9001_add_user.sql +++ /dev/null @@ -1,14 +0,0 @@ -USE partsltd_prod; - -INSERT INTO Shop_User ( - id_user_auth0 - , firstname - , surname - , email - , is_super_user - , active -) -VALUES ( 'auth0|679cc2fe0d652a47af90d16b' , 'Demo' , '' , 'bot@partsltd.co.uk' , 0 , 1 ); - -INSERT INTO Shop_User_Role_Link ( id_user, id_role ) -VALUES (4, 2); \ No newline at end of file diff --git a/static/MySQL/deprecated/9020_edit_permissions.sql b/static/MySQL/deprecated/9020_edit_permissions.sql deleted file mode 100644 index bacf7ecc..00000000 --- a/static/MySQL/deprecated/9020_edit_permissions.sql +++ /dev/null @@ -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; \ No newline at end of file diff --git a/static/MySQL/deprecated/dump.sql b/static/MySQL/deprecated/dump.sql deleted file mode 100644 index 45aed111..00000000 --- a/static/MySQL/deprecated/dump.sql +++ /dev/null @@ -1,8235 +0,0 @@ -CREATE DATABASE IF NOT EXISTS `partsltd_prod` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */; -USE `partsltd_prod`; --- MySQL dump 10.13 Distrib 8.0.36, for Win64 (x86_64) --- --- Host: localhost Database: partsltd_prod --- ------------------------------------------------------ --- Server version 8.0.35 - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!50503 SET NAMES utf8 */; -/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; -/*!40103 SET TIME_ZONE='+00:00' */; -/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; -/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; -/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; - --- --- Table structure for table `file_type` --- - -DROP TABLE IF EXISTS `file_type`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `file_type` ( - `id_type` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) DEFAULT NULL, - `name` varchar(100) DEFAULT NULL, - `extension` varchar(50) DEFAULT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `updated_last_on` datetime DEFAULT NULL, - `updated_last_by` varchar(100) DEFAULT NULL, - PRIMARY KEY (`id_type`) -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `file_type` --- - -LOCK TABLES `file_type` WRITE; -/*!40000 ALTER TABLE `file_type` DISABLE KEYS */; -INSERT INTO `file_type` VALUES (1,'JPEG','Joint Photographic Export Group','jpg','2024-04-28 19:03:07','root@localhost',NULL,NULL),(2,'PNG','Portable Network Graphic','png','2024-04-28 19:03:07','root@localhost',NULL,NULL),(3,'GIF','GIF','gif','2024-04-28 19:03:07','root@localhost',NULL,NULL),(4,'MPEG-4','Multimedia Photographic Export Group 4','mp4','2024-04-28 19:03:07','root@localhost',NULL,NULL); -/*!40000 ALTER TABLE `file_type` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_File_Type` BEFORE INSERT ON `file_type` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_File_Type` BEFORE UPDATE ON `file_type` FOR EACH ROW BEGIN - INSERT INTO File_Type_Audit ( - id_type, - name_field, - value_prev, - value_new - ) - # Changed code - SELECT NEW.id_type, 'code', OLD.code, NEW.code - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_type, 'name', OLD.name, NEW.name - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed extension - SELECT NEW.id_type, 'extension', CONVERT(OLD.extension, CHAR), CONVERT(NEW.extension, CHAR) - WHERE NOT OLD.extension <=> NEW.extension - ; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `file_type_audit` --- - -DROP TABLE IF EXISTS `file_type_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `file_type_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_type` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `updated_last_on` datetime DEFAULT NULL, - `updated_last_by` varchar(100) DEFAULT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_File_Type_Audit_id_type` (`id_type`), - CONSTRAINT `FK_File_Type_Audit_id_type` FOREIGN KEY (`id_type`) REFERENCES `file_type` (`id_type`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `file_type_audit` --- - -LOCK TABLES `file_type_audit` WRITE; -/*!40000 ALTER TABLE `file_type_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `file_type_audit` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_File_Type_Audit` BEFORE INSERT ON `file_type_audit` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_File_Type_Audit` BEFORE UPDATE ON `file_type_audit` FOR EACH ROW BEGIN - SET NEW.updated_last_on = NOW(); - SET NEW.updated_last_by = CURRENT_USER(); -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_access_level` --- - -DROP TABLE IF EXISTS `shop_access_level`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_access_level` ( - `id_access_level` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) DEFAULT NULL, - `name` varchar(255) DEFAULT NULL, - `priority` int NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_access_level`), - KEY `FK_Shop_Access_Level_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Access_Level_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_access_level` --- - -LOCK TABLES `shop_access_level` WRITE; -/*!40000 ALTER TABLE `shop_access_level` DISABLE KEYS */; -INSERT INTO `shop_access_level` VALUES (1,'VIEW','View',3,_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,'EDIT','Edit',2,_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL),(3,'ADMIN','Admin',1,_binary '',3,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_access_level` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Access_Level` BEFORE UPDATE ON `shop_access_level` 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_Access_Level_Audit ( - id_access_level, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_access_level, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT (OLD.code <=> NEW.code) - UNION - # Changed name - SELECT NEW.id_access_level, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT (OLD.name <=> NEW.name) - UNION - # Changed priority - SELECT NEW.id_access_level, 'priority', CONVERT(OLD.priority, CHAR), CONVERT(NEW.priority, CHAR), NEW.id_change_set - WHERE NOT (OLD.priority <=> NEW.priority) - UNION - # Changed active - SELECT NEW.id_access_level, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set - WHERE NOT (OLD.active <=> NEW.active) - UNION - # Changed display_order - SELECT NEW.id_access_level, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set - WHERE NOT OLD.display_order <=> NEW.display_order - ; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_access_level_audit` --- - -DROP TABLE IF EXISTS `shop_access_level_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_access_level_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_access_level` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Access_Level_Audit_id_access_level` (`id_access_level`), - KEY `FK_Shop_Access_Level_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Access_Level_Audit_id_access_level` FOREIGN KEY (`id_access_level`) REFERENCES `shop_access_level` (`id_access_level`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Access_Level_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_access_level_audit` --- - -LOCK TABLES `shop_access_level_audit` WRITE; -/*!40000 ALTER TABLE `shop_access_level_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_access_level_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_address` --- - -DROP TABLE IF EXISTS `shop_address`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_address` ( - `id_address` int NOT NULL AUTO_INCREMENT, - `id_user` varchar(200) NOT NULL, - `id_region` int 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(1) NOT NULL DEFAULT b'1', - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_address`), - KEY `FK_Shop_Address_id_user` (`id_user`), - KEY `FK_Shop_Address_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Address_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Address_id_user` FOREIGN KEY (`id_user`) REFERENCES `shop_user` (`id_user`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_address` --- - -LOCK TABLES `shop_address` WRITE; -/*!40000 ALTER TABLE `shop_address` DISABLE KEYS */; -INSERT INTO `shop_address` VALUES (1,'auth0|6582b95c895d09a70ba10fef',1,'Teddy','07375 571430','NN6 6EB','The Laurels','Cold Ashby Road','Cold Ashby','Northamptonshire',_binary '','2024-04-28 19:03:07','root@localhost',NULL),(2,'parts_guest',1,'Guest','07375 571430','NN6 6EB','The Laurels','Cold Ashby Road','Cold Ashby','Northamptonshire',_binary '','2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_address` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Address` BEFORE UPDATE ON `shop_address` 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_Address_Audit ( - id_address, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed region - SELECT NEW.id_address, 'id_region', OLD.id_region, NEW.id_region, NEW.id_change_set - WHERE NOT OLD.id_region <=> NEW.id_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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_address_audit` --- - -DROP TABLE IF EXISTS `shop_address_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_address_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_address` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Address_Audit_id_address` (`id_address`), - KEY `FK_Shop_Address_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Address_Audit_id_address` FOREIGN KEY (`id_address`) REFERENCES `shop_address` (`id_address`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Address_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_address_audit` --- - -LOCK TABLES `shop_address_audit` WRITE; -/*!40000 ALTER TABLE `shop_address_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_address_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_category` --- - -DROP TABLE IF EXISTS `shop_category`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_category` ( - `id_category` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) DEFAULT NULL, - `name` varchar(255) DEFAULT NULL, - `description` varchar(4000) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_category`), - KEY `FK_Shop_Product_Category_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Category_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_category` --- - -LOCK TABLES `shop_category` WRITE; -/*!40000 ALTER TABLE `shop_category` DISABLE KEYS */; -INSERT INTO `shop_category` VALUES (1,'ASS','Assistive Devices','Braille product line and other assistive devices',_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,'MISC','Miscellaneous','Not category allocated products',_binary '',99,'2024-04-28 19:03:07','root@localhost',NULL),(3,'TECH','Technology','Technological devices',_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_category` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Category` BEFORE INSERT ON `shop_category` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product_Category` BEFORE UPDATE ON `shop_category` 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_Category_Audit ( - id_category, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_category, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_category, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed description - SELECT NEW.id_category, 'description', OLD.description, NEW.description, NEW.id_change_set - WHERE NOT OLD.description <=> NEW.description - UNION - # Changed active - SELECT NEW.id_category, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set - WHERE NOT (OLD.active <=> NEW.active) - UNION - # Changed display_order - SELECT NEW.id_category, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set - WHERE NOT OLD.display_order <=> NEW.display_order - ; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_category_audit` --- - -DROP TABLE IF EXISTS `shop_category_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_category_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_category` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Product_Category_Audit_id_category` (`id_category`), - KEY `FK_Shop_Product_Category_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Category_Audit_id_category` FOREIGN KEY (`id_category`) REFERENCES `shop_category` (`id_category`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Category_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_category_audit` --- - -LOCK TABLES `shop_category_audit` WRITE; -/*!40000 ALTER TABLE `shop_category_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_category_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_currency` --- - -DROP TABLE IF EXISTS `shop_currency`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_currency` ( - `id_currency` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) NOT NULL, - `name` varchar(255) NOT NULL, - `symbol` varchar(1) NOT NULL, - `factor_from_GBP` float NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_currency`), - KEY `FK_Shop_Currency_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Currency_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_currency` --- - -LOCK TABLES `shop_currency` WRITE; -/*!40000 ALTER TABLE `shop_currency` DISABLE KEYS */; -INSERT INTO `shop_currency` VALUES (1,'GBP','Great British Pound','£',1,_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,'EUR','Euro','€',1.17,_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_currency` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Currency` BEFORE INSERT ON `shop_currency` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Currency` BEFORE UPDATE ON `shop_currency` 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_Currency_Audit ( - id_currency, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_currency, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_currency, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed symbol - SELECT NEW.id_currency, 'symbol', OLD.symbol, NEW.symbol, NEW.id_change_set - WHERE NOT OLD.symbol <=> NEW.symbol - UNION - # Changed ratio_2_GBP - SELECT NEW.id_currency, 'factor_from_GBP', OLD.factor_from_GBP, NEW.factor_from_GBP, NEW.id_change_set - WHERE NOT OLD.factor_from_GBP <=> NEW.factor_from_GBP - UNION - # Changed active - SELECT NEW.id_currency, '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_currency, 'display_order', CONVERT(display_order, CHAR), CONVERT(display_order, CHAR), NEW.id_change_set - WHERE NOT (OLD.display_order <=> NEW.display_order) - ; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_currency_audit` --- - -DROP TABLE IF EXISTS `shop_currency_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_currency_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_currency` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Currency_Audit_id_currency` (`id_currency`), - KEY `FK_Shop_Currency_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Currency_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Currency_Audit_id_currency` FOREIGN KEY (`id_currency`) REFERENCES `shop_currency` (`id_currency`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_currency_audit` --- - -LOCK TABLES `shop_currency_audit` WRITE; -/*!40000 ALTER TABLE `shop_currency_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_currency_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_delivery_option` --- - -DROP TABLE IF EXISTS `shop_delivery_option`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_delivery_option` ( - `id_option` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) NOT NULL, - `name` varchar(100) NOT NULL, - `description` varchar(4000) DEFAULT NULL, - `latency_delivery_min` int NOT NULL, - `latency_delivery_max` int NOT NULL, - `quantity_min` int NOT NULL, - `quantity_max` int NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_option`), - KEY `FK_Shop_Delivery_Option_Type_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Delivery_Option_Type_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_delivery_option` --- - -LOCK TABLES `shop_delivery_option` WRITE; -/*!40000 ALTER TABLE `shop_delivery_option` DISABLE KEYS */; -INSERT INTO `shop_delivery_option` VALUES (1,'COLLECT','Collection',NULL,0,0,0,1,_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,'SIGNED_1','First Class Signed-For',NULL,2,4,0,1,_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_delivery_option` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Delivery_Option` BEFORE INSERT ON `shop_delivery_option` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Delivery_Option` BEFORE UPDATE ON `shop_delivery_option` 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_Delivery_Option_Audit ( - id_option, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_option, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_option, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed latency_delivery_min - SELECT NEW.id_option, 'latency_delivery_min', CONVERT(OLD.latency_delivery_min, CHAR), CONVERT(NEW.latency_delivery_min, CHAR), NEW.id_change_set - WHERE NOT OLD.latency_delivery_min <=> NEW.latency_delivery_min - UNION - # Changed latency_delivery_max - SELECT NEW.id_option, 'latency_delivery_max', CONVERT(OLD.latency_delivery_max, CHAR), CONVERT(NEW.latency_delivery_max, CHAR), NEW.id_change_set - WHERE NOT OLD.latency_delivery_max <=> NEW.latency_delivery_max - UNION - # Changed quantity_min - SELECT NEW.id_option, 'quantity_min', CONVERT(OLD.quantity_min, CHAR), CONVERT(NEW.quantity_min, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_min <=> NEW.quantity_min - UNION - # Changed quantity_max - SELECT NEW.id_option, 'quantity_max', CONVERT(OLD.quantity_max, CHAR), CONVERT(NEW.quantity_max, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_max <=> NEW.quantity_max - UNION - # Changed active - SELECT NEW.id_option, 'active', CONVERT(OLD.active, CHAR), CONVERT(NEW.active, CHAR), NEW.id_change_set - WHERE NOT OLD.active <=> NEW.active - UNION - # Changed display_order - SELECT NEW.id_option, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_delivery_option_audit` --- - -DROP TABLE IF EXISTS `shop_delivery_option_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_delivery_option_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_option` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Delivery_Option_Audit_id_option` (`id_option`), - KEY `FK_Shop_Delivery_Option_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Delivery_Option_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Delivery_Option_Audit_id_option` FOREIGN KEY (`id_option`) REFERENCES `shop_delivery_option` (`id_option`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_delivery_option_audit` --- - -LOCK TABLES `shop_delivery_option_audit` WRITE; -/*!40000 ALTER TABLE `shop_delivery_option_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_delivery_option_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_discount` --- - -DROP TABLE IF EXISTS `shop_discount`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_discount` ( - `id_discount` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) NOT NULL, - `name` varchar(200) NOT NULL, - `id_product` int NOT NULL, - `id_permutation` int DEFAULT NULL, - `multiplier` float NOT NULL DEFAULT '1', - `subtractor` float NOT NULL DEFAULT '0', - `apply_multiplier_first` bit(1) DEFAULT b'1', - `quantity_min` float NOT NULL DEFAULT '0', - `quantity_max` float NOT NULL, - `date_start` datetime NOT NULL, - `date_end` datetime NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_discount`), - KEY `FK_Shop_Discount_id_product` (`id_product`), - KEY `FK_Shop_Discount_id_permutation` (`id_permutation`), - KEY `FK_Shop_Discount_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Discount_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Discount_id_permutation` FOREIGN KEY (`id_permutation`) REFERENCES `shop_product_permutation` (`id_permutation`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Discount_id_product` FOREIGN KEY (`id_product`) REFERENCES `shop_product` (`id_product`), - CONSTRAINT `shop_discount_chk_1` CHECK ((`multiplier` > 0)) -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_discount` --- - -LOCK TABLES `shop_discount` WRITE; -/*!40000 ALTER TABLE `shop_discount` DISABLE KEYS */; -INSERT INTO `shop_discount` VALUES (1,'CRIMBO50','Christmas 50% off sale!',1,1,0.5,0,_binary '',3,9,'2024-04-28 19:03:07','2023-12-31 23:59:59',_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,'CRIMBO50','Christmas 50% off sale!',1,2,0.5,0,_binary '',3,9,'2024-04-28 19:03:07','2023-12-31 23:59:59',_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_discount` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Discount` BEFORE INSERT ON `shop_discount` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Discount` BEFORE UPDATE ON `shop_discount` 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_Discount_Audit ( - id_discount, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_discount, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_discount, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed multiplier - SELECT NEW.id_discount, 'multiplier', OLD.multiplier, NEW.multiplier, NEW.id_change_set - WHERE NOT OLD.multiplier <=> NEW.multiplier - UNION - # Changed subtractor - SELECT NEW.id_discount, 'subtractor', OLD.subtractor, NEW.subtractor, NEW.id_change_set - WHERE NOT OLD.subtractor <=> NEW.subtractor - UNION - # Changed apply_multiplier_first - SELECT NEW.id_discount, 'apply_multiplier_first', CONVERT(CONVERT(OLD.apply_multiplier_first, SIGNED), CHAR), CONVERT(CONVERT(NEW.apply_multiplier_first, SIGNED), CHAR), NEW.id_change_set - WHERE NOT OLD.apply_multiplier_first <=> NEW.apply_multiplier_first - UNION - # Changed quantity_min - SELECT NEW.id_discount, 'quantity_min', OLD.quantity_min, NEW.quantity_min, NEW.id_change_set - WHERE NOT OLD.quantity_min <=> NEW.quantity_min - UNION - # Changed quantity_max - SELECT NEW.id_discount, 'quantity_max', OLD.quantity_max, NEW.quantity_max, NEW.id_change_set - WHERE NOT OLD.quantity_max <=> NEW.quantity_max - UNION - # Changed date_start - SELECT NEW.id_discount, 'date_start', OLD.date_start, NEW.date_start, NEW.id_change_set - WHERE NOT OLD.date_start <=> NEW.date_start - UNION - # Changed date_end - SELECT NEW.id_discount, 'date_end', OLD.date_end, NEW.date_end, NEW.id_change_set - WHERE NOT OLD.date_end <=> NEW.date_end - UNION - # Changed display_order - SELECT NEW.id_discount, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set - WHERE NOT OLD.display_order <=> NEW.display_order - UNION - # Changed active - SELECT NEW.id_discount, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_discount_audit` --- - -DROP TABLE IF EXISTS `shop_discount_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_discount_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_discount` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Discount_Audit_id_discount` (`id_discount`), - KEY `FK_Shop_Discount_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Discount_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Discount_Audit_id_discount` FOREIGN KEY (`id_discount`) REFERENCES `shop_discount` (`id_discount`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_discount_audit` --- - -LOCK TABLES `shop_discount_audit` WRITE; -/*!40000 ALTER TABLE `shop_discount_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_discount_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_discount_region_currency_link` --- - -DROP TABLE IF EXISTS `shop_discount_region_currency_link`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_discount_region_currency_link` ( - `id_link` int NOT NULL AUTO_INCREMENT, - `id_discount` int NOT NULL, - `id_region` int NOT NULL, - `id_currency` int NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_link`), - KEY `FK_Shop_Discount_Region_Currency_Link_id_discount` (`id_discount`), - KEY `FK_Shop_Discount_Region_Currency_Link_id_region` (`id_region`), - KEY `FK_Shop_Discount_Region_Currency_Link_id_currency` (`id_currency`), - KEY `FK_Shop_Discount_Region_Currency_Link_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Discount_Region_Currency_Link_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Discount_Region_Currency_Link_id_currency` FOREIGN KEY (`id_currency`) REFERENCES `shop_currency` (`id_currency`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Discount_Region_Currency_Link_id_discount` FOREIGN KEY (`id_discount`) REFERENCES `shop_discount` (`id_discount`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Discount_Region_Currency_Link_id_region` FOREIGN KEY (`id_region`) REFERENCES `shop_region` (`id_region`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_discount_region_currency_link` --- - -LOCK TABLES `shop_discount_region_currency_link` WRITE; -/*!40000 ALTER TABLE `shop_discount_region_currency_link` DISABLE KEYS */; -INSERT INTO `shop_discount_region_currency_link` VALUES (1,1,1,1,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(2,2,1,1,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(3,1,1,2,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(4,2,1,2,_binary '','2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_discount_region_currency_link` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Discount_Region_Currency_Link` BEFORE INSERT ON `shop_discount_region_currency_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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Discount_Region_Currency_Link` BEFORE UPDATE ON `shop_discount_region_currency_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_Discount_Region_Currency_Link_Audit ( - id_link, - name_field, - value_prev, - value_new, - id_change_set - ) - /* - # Changed id_discount - SELECT NEW.id_link, 'id_discount', CONVERT(OLD.id_discount, CHAR), CONVERT(NEW.id_discount, CHAR), NEW.id_change_set - WHERE NOT OLD.id_discount <=> NEW.id_discount - 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_discount_region_currency_link_audit` --- - -DROP TABLE IF EXISTS `shop_discount_region_currency_link_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_discount_region_currency_link_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_link` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Discount_Region_Currency_Link_Audit_id_link` (`id_link`), - KEY `FK_Shop_Discount_Region_Currency_Link_Audit_id_change_set` (`id_change_set`), - 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, - 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 -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_discount_region_currency_link_audit` --- - -LOCK TABLES `shop_discount_region_currency_link_audit` WRITE; -/*!40000 ALTER TABLE `shop_discount_region_currency_link_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_discount_region_currency_link_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_general` --- - -DROP TABLE IF EXISTS `shop_general`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_general` ( - `id_general` int NOT NULL AUTO_INCREMENT, - `quantity_max` float DEFAULT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_general`), - KEY `CHK_Shop_General_id_change_set` (`id_change_set`), - CONSTRAINT `CHK_Shop_General_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_general` --- - -LOCK TABLES `shop_general` WRITE; -/*!40000 ALTER TABLE `shop_general` DISABLE KEYS */; -INSERT INTO `shop_general` VALUES (1,10,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_general` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_General` BEFORE INSERT ON `shop_general` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_General` BEFORE UPDATE ON `shop_general` 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_General_Audit ( - id_general, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed quantity max - SELECT NEW.id_general, 'quantity_max', CONVERT(OLD.quantity_max, CHAR), CONVERT(NEW.quantity_max, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_max <=> NEW.quantity_max - ; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_general_audit` --- - -DROP TABLE IF EXISTS `shop_general_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_general_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_general` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_General_Audit_id_general` (`id_general`), - KEY `FK_Shop_General_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_General_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_General_Audit_id_general` FOREIGN KEY (`id_general`) REFERENCES `shop_general` (`id_general`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_general_audit` --- - -LOCK TABLES `shop_general_audit` WRITE; -/*!40000 ALTER TABLE `shop_general_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_general_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_image` --- - -DROP TABLE IF EXISTS `shop_image`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_image` ( - `id_image` int NOT NULL AUTO_INCREMENT, - `id_type_image` int NOT NULL, - `id_type_file` int NOT NULL, - `id_product` int DEFAULT NULL, - `id_permutation` int DEFAULT NULL, - `url` varchar(255) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_image`), - KEY `FK_Shop_Image_id_type_image` (`id_type_image`), - KEY `FK_Shop_Image_id_type_file` (`id_type_file`), - KEY `FK_Shop_Image_id_product` (`id_product`), - KEY `FK_Shop_Image_id_permutation` (`id_permutation`), - KEY `FK_Shop_Image_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Image_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Image_id_permutation` FOREIGN KEY (`id_permutation`) REFERENCES `shop_product_permutation` (`id_permutation`), - CONSTRAINT `FK_Shop_Image_id_product` FOREIGN KEY (`id_product`) REFERENCES `shop_product` (`id_product`), - CONSTRAINT `FK_Shop_Image_id_type_file` FOREIGN KEY (`id_type_file`) REFERENCES `file_type` (`id_type`), - CONSTRAINT `FK_Shop_Image_id_type_image` FOREIGN KEY (`id_type_image`) REFERENCES `shop_image_type` (`id_type`) -) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_image` --- - -LOCK TABLES `shop_image` WRITE; -/*!40000 ALTER TABLE `shop_image` DISABLE KEYS */; -INSERT INTO `shop_image` VALUES (1,1,1,1,1,'/static/images/prod_PB0NUOSEs06ymG.jpg',_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,1,1,1,2,'/static/images/prod_PB0NUOSEs06ymG.jpg',_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL),(3,1,1,2,3,'/static/images/prod_PB0NUOSEs06ymG.jpg',_binary '',3,'2024-04-28 19:03:07','root@localhost',NULL),(4,1,1,3,4,'/static/images/prod_.jpg',_binary '',4,'2024-04-28 19:03:07','root@localhost',NULL),(5,1,1,4,5,'/static/images/prod_1.jpg',_binary '',5,'2024-04-28 19:03:07','root@localhost',NULL),(6,1,1,5,6,'/static/images/prod_2.jpg',_binary '',6,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_image` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Image` BEFORE INSERT ON `shop_image` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Image` BEFORE UPDATE ON `shop_image` 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; - IF ISNULL(NEW.id_product) AND ISNULL(NEW.id_permutation) THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Image must NOT have ID for product AND product permutation.'; - END IF; - - INSERT INTO Shop_Image_Audit ( - id_image, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed id_type_image - SELECT NEW.id_image, 'id_type_image', CONVERT(OLD.id_type_image, CHAR), CONVERT(NEW.id_type_image, CHAR), NEW.id_change_set - WHERE NOT OLD.id_type_image <=> NEW.id_type_image - UNION - # Changed id_type_file - SELECT NEW.id_image, 'id_type_file', CONVERT(OLD.id_type_file, CHAR), CONVERT(NEW.id_type_file, CHAR), NEW.id_change_set - WHERE NOT OLD.id_type_file <=> NEW.id_type_file - UNION - # Changed id_product - SELECT NEW.id_image, '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_permutation - SELECT NEW.id_image, 'id_permutation', CONVERT(OLD.id_permutation, CHAR), CONVERT(NEW.id_permutation, CHAR), NEW.id_change_set - WHERE NOT OLD.id_permutation <=> NEW.id_permutation - UNION - # Changed url - SELECT NEW.id_image, 'url', OLD.url, NEW.url, NEW.id_change_set - WHERE NOT OLD.url <=> NEW.url - UNION - # Changed active - SELECT NEW.id_image, '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_image, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_image_audit` --- - -DROP TABLE IF EXISTS `shop_image_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_image_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_image` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Image_Audit_id_image` (`id_image`), - KEY `FK_Shop_Image_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Image_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Image_Audit_id_image` FOREIGN KEY (`id_image`) REFERENCES `shop_image` (`id_image`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_image_audit` --- - -LOCK TABLES `shop_image_audit` WRITE; -/*!40000 ALTER TABLE `shop_image_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_image_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_image_type` --- - -DROP TABLE IF EXISTS `shop_image_type`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_image_type` ( - `id_type` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) DEFAULT NULL, - `name` varchar(255) DEFAULT NULL, - `name_plural` varchar(256) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_type`), - KEY `FK_Shop_Image_Type_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Image_Type_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_image_type` --- - -LOCK TABLES `shop_image_type` WRITE; -/*!40000 ALTER TABLE `shop_image_type` DISABLE KEYS */; -INSERT INTO `shop_image_type` VALUES (1,'FULL','Full Quality Image','Full Quality Images',_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,'LOW','Low Quality Image','Low Quality Images',_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL),(3,'THUMBNAIL','Thumbnail Image','Thumbnail Images',_binary '',3,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_image_type` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Image_Type` BEFORE INSERT ON `shop_image_type` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Image_Type` BEFORE UPDATE ON `shop_image_type` 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_Image_Type_Audit ( - id_type, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_type, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_type, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed name_plural - SELECT NEW.id_type, 'name_plural', OLD.name_plural, NEW.name_plural, NEW.id_change_set - WHERE NOT OLD.name_plural <=> NEW.name_plural - UNION - # Changed active - SELECT NEW.id_type, '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_type, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_image_type_audit` --- - -DROP TABLE IF EXISTS `shop_image_type_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_image_type_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_type` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Image_Type_Audit_id_type` (`id_type`), - KEY `FK_Shop_Image_Type_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Image_Type_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Image_Type_Audit_id_type` FOREIGN KEY (`id_type`) REFERENCES `shop_image_type` (`id_type`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_image_type_audit` --- - -LOCK TABLES `shop_image_type_audit` WRITE; -/*!40000 ALTER TABLE `shop_image_type_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_image_type_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_msg_error_type` --- - -DROP TABLE IF EXISTS `shop_msg_error_type`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_msg_error_type` ( - `id_type` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) NOT NULL, - `name` varchar(500) NOT NULL, - `description` varchar(1000) DEFAULT NULL, - PRIMARY KEY (`id_type`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_msg_error_type` --- - -LOCK TABLES `shop_msg_error_type` WRITE; -/*!40000 ALTER TABLE `shop_msg_error_type` DISABLE KEYS */; -INSERT INTO `shop_msg_error_type` VALUES (1,'BAD_DATA','Invalid data','Rubbish data'),(2,'NO_PERMISSION','No permission','Not authorised'),(3,'PRODUCT_AVAILABILITY','Product not available','Product not available'); -/*!40000 ALTER TABLE `shop_msg_error_type` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_permission` --- - -DROP TABLE IF EXISTS `shop_permission`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_permission` ( - `id_permission` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) DEFAULT NULL, - `name` varchar(255) DEFAULT NULL, - `id_permission_group` int NOT NULL, - `id_access_level_required` int NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_permission`), - KEY `FK_Shop_Permission_id_permission_group` (`id_permission_group`), - KEY `FK_Shop_Permission_id_access_level_required` (`id_access_level_required`), - KEY `FK_Shop_Permission_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Permission_id_access_level_required` FOREIGN KEY (`id_access_level_required`) REFERENCES `shop_access_level` (`id_access_level`), - CONSTRAINT `FK_Shop_Permission_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Permission_id_permission_group` FOREIGN KEY (`id_permission_group`) REFERENCES `shop_permission_group` (`id_group`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_permission` --- - -LOCK TABLES `shop_permission` WRITE; -/*!40000 ALTER TABLE `shop_permission` DISABLE KEYS */; -INSERT INTO `shop_permission` VALUES (1,'HOME','Home Page',2,1,_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,'STORE_PRODUCT','Store Product Page',3,1,_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL),(3,'STORE_USER','Store User Account Page',4,2,_binary '',3,'2024-04-28 19:03:07','root@localhost',NULL),(4,'STORE_ADMIN','Store Admin Page',1,3,_binary '',4,'2024-04-28 19:03:07','root@localhost',NULL),(5,'CONTACT_US','Contact Us Page',2,1,_binary '',99,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_permission` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Permission` BEFORE UPDATE ON `shop_permission` 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_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 Id_access_level_required - SELECT NEW.id_permission, 'Id_access_level_required', CONVERT(OLD.Id_access_level_required, CHAR), CONVERT(NEW.Id_access_level_required, CHAR), NEW.id_change_set - WHERE NOT OLD.Id_access_level_required <=> NEW.Id_access_level_required - 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) - UNION - # Changed display_order - SELECT NEW.id_permission, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_permission_audit` --- - -DROP TABLE IF EXISTS `shop_permission_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_permission_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_permission` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Permission_Audit_id_permission` (`id_permission`), - KEY `FK_Shop_Permission_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Permission_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Permission_Audit_id_permission` FOREIGN KEY (`id_permission`) REFERENCES `shop_permission` (`id_permission`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_permission_audit` --- - -LOCK TABLES `shop_permission_audit` WRITE; -/*!40000 ALTER TABLE `shop_permission_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_permission_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_permission_group` --- - -DROP TABLE IF EXISTS `shop_permission_group`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_permission_group` ( - `id_group` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) DEFAULT NULL, - `name` varchar(255) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_group`), - KEY `FK_Shop_Permission_Group_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Permission_Group_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_permission_group` --- - -LOCK TABLES `shop_permission_group` WRITE; -/*!40000 ALTER TABLE `shop_permission_group` DISABLE KEYS */; -INSERT INTO `shop_permission_group` VALUES (1,'ADMIN','Website Admin',_binary '',0,'2024-04-28 19:03:07','root@localhost',NULL),(2,'HOME','Home, Contact Us, and other public information',_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(3,'PRODUCT','Store Products',_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL),(4,'USER','Store User',_binary '',3,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_permission_group` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Permission_Group` BEFORE UPDATE ON `shop_permission_group` 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_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) - UNION - # Changed display_order - SELECT NEW.id_group, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_permission_group_audit` --- - -DROP TABLE IF EXISTS `shop_permission_group_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_permission_group_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_group` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Permission_Group_Audit_id_group` (`id_group`), - KEY `FK_Shop_Permission_Group_Audit_id_change_set` (`id_change_set`), - 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, - CONSTRAINT `FK_Shop_Permission_Group_Audit_id_group` FOREIGN KEY (`id_group`) REFERENCES `shop_permission_group` (`id_group`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_permission_group_audit` --- - -LOCK TABLES `shop_permission_group_audit` WRITE; -/*!40000 ALTER TABLE `shop_permission_group_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_permission_group_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_product` --- - -DROP TABLE IF EXISTS `shop_product`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product` ( - `id_product` int NOT NULL AUTO_INCREMENT, - `name` varchar(255) NOT NULL, - `id_category` int NOT NULL, - `has_variations` bit(1) NOT NULL, - `id_access_level_required` int NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_product`), - KEY `FK_Shop_Product_id_access_level_required` (`id_access_level_required`), - KEY `FK_Shop_Product_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_id_access_level_required` FOREIGN KEY (`id_access_level_required`) REFERENCES `shop_access_level` (`id_access_level`), - CONSTRAINT `FK_Shop_Product_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) -) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product` --- - -LOCK TABLES `shop_product` WRITE; -/*!40000 ALTER TABLE `shop_product` DISABLE KEYS */; -INSERT INTO `shop_product` VALUES (1,'Braille Keyboard Translator',1,_binary '',3,_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,'Test product 1',2,_binary '\0',3,_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL),(3,'Phone',3,_binary '\0',1,_binary '',3,'2024-04-28 19:03:07','root@localhost',NULL),(4,'Laptop',3,_binary '\0',1,_binary '',4,'2024-04-28 19:03:07','root@localhost',NULL),(5,'Smart Watch',3,_binary '\0',1,_binary '',5,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_product` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product` BEFORE INSERT ON `shop_product` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product` BEFORE UPDATE ON `shop_product` 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; - /* - IF NOT NEW.has_variations THEN - IF ISNULL(NEW.price_GBP_full) THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Product must have price or variations (with prices).'; - END IF; - IF ISNULL(NEW.price_GBP_min) THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Product must have minimum price or variations (with prices).'; - END IF; - IF ISNULL(NEW.latency_manuf) THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Product must have manufacturing latency or variations (with manufacturing latencies).'; - END IF; - IF ISNULL(NEW.quantity_min) THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Product must have minimum quantity or variations (with minimum quantities).'; - END IF; - IF ISNULL(NEW.quantity_max) THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Product must have maximum quantity or variations (with maximum quantities).'; - END IF; - IF ISNULL(NEW.quantity_step) THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Product must have increment of quantity or variations (with increments of quantities).'; - END IF; - IF ISNULL(NEW.quantity_stock) THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Product must have stock quantity or variations (with stock quantities).'; - END IF; - IF ISNULL(NEW.is_subscription) THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Product must have subscription status or variations (with subscription statuses).'; - END IF; - IF ISNULL(NEW.id_unit_measurement_interval_recurrence) THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Product must have recurrence interval or variations (with recurrence intervals).'; - END IF; - IF ISNULL(NEW.count_interval_recurrence) THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Product must have recurrence interval count or variations (with recurrence interval counts).'; - END IF; - END IF; - */ - - INSERT INTO Shop_Product_Audit ( - id_product, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed name - SELECT NEW.id_product, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - /* - UNION - # Changed description - SELECT NEW.id_product, 'description', OLD.description, NEW.description, NEW.id_change_set - WHERE NOT OLD.description <=> NEW.description - UNION - # Changed price_GBP_full - SELECT NEW.id_product, 'price_GBP_full', CONVERT(OLD.price_GBP_full, CHAR), CONVERT(NEW.price_GBP_full, CHAR), NEW.id_change_set - WHERE NOT OLD.price_GBP_full <=> NEW.price_GBP_full - UNION - # Changed price_GBP_min - SELECT NEW.id_product, 'price_GBP_min', CONVERT(OLD.price_GBP_min, CHAR), CONVERT(NEW.price_GBP_min, CHAR), NEW.id_change_set - WHERE NOT OLD.price_GBP_min <=> NEW.price_GBP_min - UNION - # Changed has_variations - SELECT NEW.id_product, 'has_variations', CONVERT(CONVERT(NEW.has_variations, SIGNED), CHAR), CONVERT(CONVERT(NEW.has_variations, SIGNED), CHAR), NEW.id_change_set - WHERE NOT OLD.has_variations <=> NEW.has_variations - UNION - /* - # Changed discount - SELECT NEW.id_product, 'discount', CONVERT(OLD.discount, CHAR), CONVERT(NEW.discount, CHAR), NEW.id_change_set - WHERE NOT OLD.discount <=> NEW.discount - */ - UNION - # Changed id_category - SELECT NEW.id_product, 'id_category', CONVERT(OLD.id_category, CHAR), CONVERT(NEW.id_category, CHAR), NEW.id_change_set - WHERE NOT OLD.id_category <=> NEW.id_category - /* - UNION - # Changed latency_manuf - SELECT NEW.id_product, 'latency_manuf', CONVERT(OLD.latency_manuf, CHAR), CONVERT(NEW.latency_manuf, CHAR), NEW.id_change_set - WHERE NOT OLD.latency_manuf <=> NEW.latency_manuf - UNION - # Changed quantity_min - SELECT NEW.id_product, 'quantity_min', CONVERT(OLD.quantity_min, CHAR), CONVERT(NEW.quantity_min, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_min <=> NEW.quantity_min - UNION - # Changed quantity_max - SELECT NEW.id_product, 'quantity_max', CONVERT(OLD.quantity_max, CHAR), CONVERT(NEW.quantity_max, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_max <=> NEW.quantity_max - UNION - # Changed quantity_step - SELECT NEW.id_product, 'quantity_step', CONVERT(OLD.quantity_step, CHAR), CONVERT(NEW.quantity_step, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_step <=> NEW.quantity_step - UNION - # Changed quantity_stock - SELECT NEW.id_product, 'quantity_stock', CONVERT(OLD.quantity_stock, CHAR), CONVERT(NEW.quantity_stock, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_stock <=> NEW.quantity_stock - UNION - # Changed is_subscription - SELECT NEW.id_product, 'is_subscription', CONVERT(CONVERT(OLD.is_subscription, SIGNED), CHAR), CONVERT(CONVERT(NEW.is_subscription, SIGNED), CHAR), NEW.id_change_set - WHERE NOT OLD.is_subscription <=> NEW.is_subscription - UNION - # Changed id_unit_measurement_interval_recurrence - SELECT NEW.id_product, 'id_unit_measurement_interval_recurrence', CONVERT(OLD.id_unit_measurement_interval_recurrence, CHAR), CONVERT(NEW.id_unit_measurement_interval_recurrence, CHAR), NEW.id_change_set - WHERE NOT OLD.id_unit_measurement_interval_recurrence <=> NEW.id_unit_measurement_interval_recurrence - UNION - # Changed count_interval_recurrence - SELECT NEW.id_product, 'count_interval_recurrence', CONVERT(OLD.count_interval_recurrence, CHAR), CONVERT(NEW.count_interval_recurrence, CHAR), NEW.id_change_set - WHERE NOT OLD.count_interval_recurrence <=> NEW.count_interval_recurrence - UNION - # Changed id_access_level_required - SELECT NEW.id_product, 'id_access_level_required', CONVERT(OLD.id_access_level_required, CHAR), CONVERT(NEW.id_access_level_required, CHAR), NEW.id_change_set - WHERE NOT OLD.id_access_level_required <=> NEW.id_access_level_required - UNION - # Changed id_stripe_product - SELECT NEW.id_product, 'id_stripe_product', OLD.id_stripe_product, NEW.id_stripe_product, NEW.id_change_set - WHERE NOT OLD.id_stripe_product <=> NEW.id_stripe_product - /* - UNION - # Changed id_stripe_price - SELECT NEW.id_product, '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_product, '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_product, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_product_audit` --- - -DROP TABLE IF EXISTS `shop_product_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_product` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Product_Audit_id_product` (`id_product`), - KEY `FK_Shop_Product_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Audit_id_product` FOREIGN KEY (`id_product`) REFERENCES `shop_product` (`id_product`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_audit` --- - -LOCK TABLES `shop_product_audit` WRITE; -/*!40000 ALTER TABLE `shop_product_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_product_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_product_change_set` --- - -DROP TABLE IF EXISTS `shop_product_change_set`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_change_set` ( - `id_change_set` int NOT NULL AUTO_INCREMENT, - `comment` varchar(500) DEFAULT NULL, - `updated_last_on` datetime DEFAULT NULL, - `updated_last_by` varchar(100) DEFAULT NULL, - PRIMARY KEY (`id_change_set`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_change_set` --- - -LOCK TABLES `shop_product_change_set` WRITE; -/*!40000 ALTER TABLE `shop_product_change_set` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_product_change_set` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Change_Set` BEFORE INSERT ON `shop_product_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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_product_currency_link` --- - -DROP TABLE IF EXISTS `shop_product_currency_link`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_currency_link` ( - `id_link` int NOT NULL AUTO_INCREMENT, - `id_product` int NOT NULL, - `id_permutation` int DEFAULT NULL, - `id_currency` int NOT NULL, - `id_region_purchase` int NOT NULL, - `price_local_VAT_incl` float DEFAULT NULL, - `price_local_VAT_excl` float DEFAULT NULL, - `id_stripe_price` varchar(200) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_link`), - KEY `FK_Shop_Product_Currency_Link_id_product` (`id_product`), - KEY `FK_Shop_Product_Currency_Link_id_permutation` (`id_permutation`), - KEY `FK_Shop_Product_Currency_Link_id_currency` (`id_currency`), - KEY `FK_Shop_Product_Currency_Link_id_region_purchase` (`id_region_purchase`), - KEY `FK_Shop_Product_Currency_Link_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Currency_Link_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Currency_Link_id_currency` FOREIGN KEY (`id_currency`) REFERENCES `shop_currency` (`id_currency`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Currency_Link_id_permutation` FOREIGN KEY (`id_permutation`) REFERENCES `shop_product_permutation` (`id_permutation`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Currency_Link_id_product` FOREIGN KEY (`id_product`) REFERENCES `shop_product` (`id_product`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Currency_Link_id_region_purchase` FOREIGN KEY (`id_region_purchase`) REFERENCES `shop_region` (`id_region`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_currency_link` --- - -LOCK TABLES `shop_product_currency_link` WRITE; -/*!40000 ALTER TABLE `shop_product_currency_link` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_product_currency_link` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Currency_Link` BEFORE INSERT ON `shop_product_currency_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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product_Currency_Link` BEFORE UPDATE ON `shop_product_currency_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_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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_product_currency_link_audit` --- - -DROP TABLE IF EXISTS `shop_product_currency_link_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_currency_link_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_link` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Product_Currency_Link_Audit_id_link` (`id_link`), - KEY `FK_Shop_Product_Currency_Link_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Currency_Link_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Currency_Link_Audit_id_link` FOREIGN KEY (`id_link`) REFERENCES `shop_product_currency_link` (`id_link`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_currency_link_audit` --- - -LOCK TABLES `shop_product_currency_link_audit` WRITE; -/*!40000 ALTER TABLE `shop_product_currency_link_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_product_currency_link_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_product_currency_region_link` --- - -DROP TABLE IF EXISTS `shop_product_currency_region_link`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_currency_region_link` ( - `id_link` int NOT NULL AUTO_INCREMENT, - `id_product` int NOT NULL, - `id_permutation` int DEFAULT NULL, - `id_currency` int NOT NULL, - `id_region_purchase` int NOT NULL, - `price_local_VAT_incl` float DEFAULT NULL, - `price_local_VAT_excl` float DEFAULT NULL, - `id_stripe_price` varchar(200) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_link`), - KEY `FK_Shop_Product_Currency_Region_Link_id_product` (`id_product`), - KEY `FK_Shop_Product_Currency_Region_Link_id_permutation` (`id_permutation`), - KEY `FK_Shop_Product_Currency_Region_Link_id_currency` (`id_currency`), - KEY `FK_Shop_Product_Currency_Region_Link_id_region_purchase` (`id_region_purchase`), - KEY `FK_Shop_Product_Currency_Region_Link_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Currency_Region_Link_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Currency_Region_Link_id_currency` FOREIGN KEY (`id_currency`) REFERENCES `shop_currency` (`id_currency`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Currency_Region_Link_id_permutation` FOREIGN KEY (`id_permutation`) REFERENCES `shop_product_permutation` (`id_permutation`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Currency_Region_Link_id_product` FOREIGN KEY (`id_product`) REFERENCES `shop_product` (`id_product`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Currency_Region_Link_id_region_purchase` FOREIGN KEY (`id_region_purchase`) REFERENCES `shop_region` (`id_region`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_currency_region_link` --- - -LOCK TABLES `shop_product_currency_region_link` WRITE; -/*!40000 ALTER TABLE `shop_product_currency_region_link` DISABLE KEYS */; -INSERT INTO `shop_product_currency_region_link` VALUES (1,1,1,1,1,24,20,NULL,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(2,1,1,2,1,48,40,NULL,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(3,1,2,1,1,96,80,NULL,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(4,2,3,1,1,144,120,NULL,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(5,3,4,1,1,600,500,NULL,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(6,4,5,1,1,1500,1200,NULL,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(7,5,6,1,1,180,150,NULL,_binary '','2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_product_currency_region_link` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_product_currency_region_link_audit` --- - -DROP TABLE IF EXISTS `shop_product_currency_region_link_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_currency_region_link_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_link` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Product_Currency_Region_Link_Audit_id_link` (`id_link`), - KEY `FK_Shop_Product_Currency_Region_Link_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Currency_Region_Link_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - 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 -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_currency_region_link_audit` --- - -LOCK TABLES `shop_product_currency_region_link_audit` WRITE; -/*!40000 ALTER TABLE `shop_product_currency_region_link_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_product_currency_region_link_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_product_delivery_option_link` --- - -DROP TABLE IF EXISTS `shop_product_delivery_option_link`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_delivery_option_link` ( - `id_link` int NOT NULL AUTO_INCREMENT, - `id_product` int NOT NULL, - `id_permutation` int DEFAULT NULL, - `id_delivery_option` int NOT NULL, - `id_region` int NOT NULL, - `id_currency` int NOT NULL, - `price_local` float NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_link`), - KEY `FK_Shop_Product_Delivery_Option_Link_id_product` (`id_product`), - KEY `FK_Shop_Product_Delivery_Option_Link_id_permutation` (`id_permutation`), - KEY `FK_Shop_Product_Delivery_Option_Link_id_delivery_option` (`id_delivery_option`), - KEY `FK_Shop_Product_Delivery_Option_Link_id_region` (`id_region`), - KEY `FK_Shop_Product_Delivery_Option_Link_id_currency` (`id_currency`), - KEY `FK_Shop_Product_Delivery_Option_Link_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Delivery_Option_Link_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Delivery_Option_Link_id_currency` FOREIGN KEY (`id_currency`) REFERENCES `shop_currency` (`id_currency`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Delivery_Option_Link_id_delivery_option` FOREIGN KEY (`id_delivery_option`) REFERENCES `shop_delivery_option` (`id_option`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Delivery_Option_Link_id_permutation` FOREIGN KEY (`id_permutation`) REFERENCES `shop_product_permutation` (`id_permutation`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Delivery_Option_Link_id_product` FOREIGN KEY (`id_product`) REFERENCES `shop_product` (`id_product`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Delivery_Option_Link_id_region` FOREIGN KEY (`id_region`) REFERENCES `shop_region` (`id_region`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_delivery_option_link` --- - -LOCK TABLES `shop_product_delivery_option_link` WRITE; -/*!40000 ALTER TABLE `shop_product_delivery_option_link` DISABLE KEYS */; -INSERT INTO `shop_product_delivery_option_link` VALUES (1,1,1,1,1,1,5,_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,1,2,1,1,1,9,_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL),(3,2,NULL,1,1,1,10,_binary '',3,'2024-04-28 19:03:07','root@localhost',NULL),(4,3,4,1,1,1,10,_binary '',4,'2024-04-28 19:03:07','root@localhost',NULL),(5,4,5,1,1,1,10,_binary '',5,'2024-04-28 19:03:07','root@localhost',NULL),(6,5,6,1,1,1,10,_binary '',6,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_product_delivery_option_link` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Delivery_Option_Link` BEFORE INSERT ON `shop_product_delivery_option_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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product_Delivery_Option_Link` BEFORE UPDATE ON `shop_product_delivery_option_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_Option_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_permutation - SELECT NEW.id_link, 'id_permutation', CONVERT(OLD.id_permutation, CHAR), CONVERT(NEW.id_permutation, CHAR), NEW.id_change_set - WHERE NOT OLD.id_permutation <=> NEW.id_permutation - UNION - # Changed id_option - SELECT NEW.id_link, 'id_option', CONVERT(OLD.id_option, CHAR), CONVERT(NEW.id_option, CHAR), NEW.id_change_set - WHERE NOT OLD.id_option <=> NEW.id_option - 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 price_local - SELECT NEW.id_link, 'price_local', CONVERT(OLD.price_local, CHAR), CONVERT(NEW.price_local, CHAR), NEW.id_change_set - WHERE NOT OLD.price_local <=> NEW.price_local - 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_product_delivery_option_link_audit` --- - -DROP TABLE IF EXISTS `shop_product_delivery_option_link_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_delivery_option_link_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_link` int NOT NULL, - `name_field` varchar(64) NOT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Product_Delivery_Option_Link_Audit_id_link` (`id_link`), - KEY `FK_Shop_Product_Delivery_Option_Link_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Delivery_Option_Link_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Delivery_Option_Link_Audit_id_link` FOREIGN KEY (`id_link`) REFERENCES `shop_product_delivery_option_link` (`id_link`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_delivery_option_link_audit` --- - -LOCK TABLES `shop_product_delivery_option_link_audit` WRITE; -/*!40000 ALTER TABLE `shop_product_delivery_option_link_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_product_delivery_option_link_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_product_permutation` --- - -DROP TABLE IF EXISTS `shop_product_permutation`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_permutation` ( - `id_permutation` int NOT NULL AUTO_INCREMENT, - `id_product` int NOT NULL, - `description` varchar(4000) NOT NULL, - `cost_local_manufacturing` float NOT NULL, - `id_currency_cost_manufacturing` int NOT NULL, - `profit_local_min` float NOT NULL, - `id_currency_profit_min` int NOT NULL, - `latency_manufacture` int NOT NULL, - `quantity_min` float NOT NULL, - `quantity_max` float NOT NULL, - `quantity_step` float NOT NULL, - `quantity_stock` float NOT NULL, - `is_subscription` bit(1) NOT NULL, - `id_unit_measurement_interval_recurrence` int DEFAULT NULL, - `count_interval_recurrence` int DEFAULT NULL, - `id_access_level_required` int NOT NULL, - `id_stripe_product` varchar(100) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_permutation`), - KEY `FK_Shop_Product_Variation_Link_id_product` (`id_product`), - KEY `FK_Shop_Product_Permutation_id_unit_measurement_interval_recurrence` (`id_unit_measurement_interval_recurrence`), - KEY `FK_Shop_Product_Permutation_id_access_level_required` (`id_access_level_required`), - KEY `FK_Shop_Product_Variation_Link_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Permutation_id_access_level_required` FOREIGN KEY (`id_access_level_required`) REFERENCES `shop_access_level` (`id_access_level`), - CONSTRAINT `FK_Shop_Product_Permutation_id_unit_measurement_interval_recurrence` FOREIGN KEY (`id_unit_measurement_interval_recurrence`) REFERENCES `shop_interval_recurrence` (`id_interval`), - CONSTRAINT `FK_Shop_Product_Variation_Link_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Variation_Link_id_product` FOREIGN KEY (`id_product`) REFERENCES `shop_product` (`id_product`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_permutation` --- - -LOCK TABLES `shop_product_permutation` WRITE; -/*!40000 ALTER TABLE `shop_product_permutation` DISABLE KEYS */; -INSERT INTO `shop_product_permutation` VALUES (1,1,'Good Red',5,1,3,1,14,1,3,1,99,_binary '\0',NULL,NULL,1,NULL,_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,1,'Good Blue',6,1,4,1,14,1,3,1,99,_binary '\0',NULL,NULL,1,NULL,_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL),(3,2,'Test product describes good',10,1,5,1,14,1,2,1,99,_binary '\0',NULL,NULL,1,NULL,_binary '',3,'2024-04-28 19:03:07','root@localhost',NULL),(4,3,'Phone describes good',10,1,5,1,14,1,2,1,99,_binary '\0',NULL,NULL,1,NULL,_binary '',4,'2024-04-28 19:03:07','root@localhost',NULL),(5,4,'Laptop describes good',10,1,5,1,14,1,2,1,99,_binary '\0',NULL,NULL,1,NULL,_binary '',5,'2024-04-28 19:03:07','root@localhost',NULL),(6,5,'Smart watch describes good',10,1,5,1,14,1,2,1,99,_binary '\0',NULL,NULL,1,NULL,_binary '',6,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_product_permutation` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Permutation` BEFORE INSERT ON `shop_product_permutation` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product_Permutation` BEFORE UPDATE ON `shop_product_permutation` 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_Permutation_Audit ( - id_permutation, - name_field, - value_prev, - value_new, - id_change_set - ) - /* - # Changed id_product - SELECT NEW.id_permutation, '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_permutation, 'id_variation', OLD.id_variation, NEW.id_variation, NEW.id_change_set - WHERE NOT OLD.id_variation <=> NEW.id_variation - UNION - # Changed name - SELECT NEW.id_permutation, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT (OLD.name <=> NEW.name) - UNION - */ - # Changed description - SELECT NEW.id_permutation, 'description', OLD.description, NEW.description, NEW.id_change_set - WHERE NOT (OLD.description <=> NEW.description) - UNION - # Changed cost_local_manufacturing - SELECT NEW.id_permutation, 'cost_local_manufacturing', CONVERT(OLD.cost_local_manufacturing, CHAR), CONVERT(NEW.cost_local_manufacturing, CHAR), NEW.id_change_set - WHERE NOT (OLD.cost_local_manufacturing <=> NEW.cost_local_manufacturing) - UNION - # Changed id_currency_cost_manufacturing - SELECT NEW.id_permutation, 'id_currency_cost_manufacturing', CONVERT(OLD.id_currency_cost_manufacturing, CHAR), CONVERT(NEW.id_currency_cost_manufacturing, CHAR), NEW.id_change_set - WHERE NOT (OLD.id_currency_cost_manufacturing <=> NEW.id_currency_cost_manufacturing) - UNION - # Changed profit_local_min - SELECT NEW.id_permutation, 'profit_local_min', CONVERT(OLD.profit_local_min, CHAR), CONVERT(NEW.profit_local_min, CHAR), NEW.id_change_set - WHERE NOT (OLD.profit_local_min <=> NEW.profit_local_min) - UNION - # Changed id_currency_profit_min - SELECT NEW.id_permutation, 'id_currency_profit_min', CONVERT(OLD.id_currency_profit_min, CHAR), CONVERT(NEW.id_currency_profit_min, CHAR), NEW.id_change_set - WHERE NOT (OLD.id_currency_profit_min <=> NEW.id_currency_profit_min) - UNION - /* - # Changed price_GBP_min - SELECT NEW.id_permutation, 'price_GBP_min', CONVERT(OLD.price_GBP_min, CHAR), CONVERT(NEW.price_GBP_min, CHAR), NEW.id_change_set - WHERE NOT (OLD.price_GBP_min <=> NEW.price_GBP_min) - UNION - */ - # Changed latency_manufacture - SELECT NEW.id_product, 'latency_manufacture', CONVERT(OLD.latency_manufacture, CHAR), CONVERT(NEW.latency_manufacture, CHAR), NEW.id_change_set - WHERE NOT OLD.latency_manufacture <=> NEW.latency_manufacture - UNION - # Changed quantity_min - SELECT NEW.id_product, 'quantity_min', CONVERT(OLD.quantity_min, CHAR), CONVERT(NEW.quantity_min, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_min <=> NEW.quantity_min - UNION - # Changed quantity_max - SELECT NEW.id_product, 'quantity_max', CONVERT(OLD.quantity_max, CHAR), CONVERT(NEW.quantity_max, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_max <=> NEW.quantity_max - UNION - # Changed quantity_step - SELECT NEW.id_product, 'quantity_step', CONVERT(OLD.quantity_step, CHAR), CONVERT(NEW.quantity_step, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_step <=> NEW.quantity_step - UNION - # Changed quantity_stock - SELECT NEW.id_product, 'quantity_stock', CONVERT(OLD.quantity_stock, CHAR), CONVERT(NEW.quantity_stock, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_stock <=> NEW.quantity_stock - UNION - # Changed is_subscription - SELECT NEW.id_product, 'is_subscription', CONVERT(CONVERT(OLD.is_subscription, SIGNED), CHAR), CONVERT(CONVERT(NEW.is_subscription, SIGNED), CHAR), NEW.id_change_set - WHERE NOT OLD.is_subscription <=> NEW.is_subscription - UNION - # Changed id_unit_measurement_interval_recurrence - SELECT NEW.id_product, 'id_unit_measurement_interval_recurrence', CONVERT(OLD.id_unit_measurement_interval_recurrence, CHAR), CONVERT(NEW.id_unit_measurement_interval_recurrence, CHAR), NEW.id_change_set - WHERE NOT OLD.id_unit_measurement_interval_recurrence <=> NEW.id_unit_measurement_interval_recurrence - UNION - # Changed count_interval_recurrence - SELECT NEW.id_product, 'count_interval_recurrence', CONVERT(OLD.count_interval_recurrence, CHAR), CONVERT(NEW.count_interval_recurrence, CHAR), NEW.id_change_set - WHERE NOT OLD.count_interval_recurrence <=> NEW.count_interval_recurrence - UNION - # Changed id_stripe_product - SELECT NEW.id_permutation, 'id_stripe_product', OLD.id_stripe_product, NEW.id_stripe_product, NEW.id_change_set - WHERE NOT (OLD.id_stripe_product <=> NEW.id_stripe_product) - UNION - # Changed active - SELECT NEW.id_permutation, '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_permutation, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_product_permutation_audit` --- - -DROP TABLE IF EXISTS `shop_product_permutation_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_permutation_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_permutation` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Product_Permutation_Audit_id_permutation` (`id_permutation`), - KEY `FK_Shop_Product_Permutation_Audit_id_change_set` (`id_change_set`), - 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, - CONSTRAINT `FK_Shop_Product_Permutation_Audit_id_permutation` FOREIGN KEY (`id_permutation`) REFERENCES `shop_product_permutation` (`id_permutation`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_permutation_audit` --- - -LOCK TABLES `shop_product_permutation_audit` WRITE; -/*!40000 ALTER TABLE `shop_product_permutation_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_product_permutation_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_product_permutation_variation_link` --- - -DROP TABLE IF EXISTS `shop_product_permutation_variation_link`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_permutation_variation_link` ( - `id_link` int NOT NULL AUTO_INCREMENT, - `id_permutation` int NOT NULL, - `id_variation` int NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_link`), - KEY `FK_Shop_Product_Permutation_Variation_Link_id_permutation` (`id_permutation`), - KEY `FK_Shop_Product_Permutation_Variation_Link_id_variation` (`id_variation`), - KEY `FK_Shop_Product_Permutation_Variation_Link_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Permutation_Variation_Link_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Permutation_Variation_Link_id_permutation` FOREIGN KEY (`id_permutation`) REFERENCES `shop_product_permutation` (`id_permutation`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Permutation_Variation_Link_id_variation` FOREIGN KEY (`id_variation`) REFERENCES `shop_variation` (`id_variation`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_permutation_variation_link` --- - -LOCK TABLES `shop_product_permutation_variation_link` WRITE; -/*!40000 ALTER TABLE `shop_product_permutation_variation_link` DISABLE KEYS */; -INSERT INTO `shop_product_permutation_variation_link` VALUES (1,1,1,_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,2,2,_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_product_permutation_variation_link` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Permutation_Variation_Link` BEFORE INSERT ON `shop_product_permutation_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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product_Permutation_Variation_Link` BEFORE UPDATE ON `shop_product_permutation_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_Permutation_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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_product_permutation_variation_link_audit` --- - -DROP TABLE IF EXISTS `shop_product_permutation_variation_link_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_permutation_variation_link_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_link` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Product_Permutation_Variation_Link_Audit_id_link` (`id_link`), - KEY `FK_Shop_Product_Permutation_Variation_Link_Audit_id_change_set` (`id_change_set`), - 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, - 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 -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_permutation_variation_link_audit` --- - -LOCK TABLES `shop_product_permutation_variation_link_audit` WRITE; -/*!40000 ALTER TABLE `shop_product_permutation_variation_link_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_product_permutation_variation_link_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_interval_recurrence` --- - -DROP TABLE IF EXISTS `shop_interval_recurrence`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_interval_recurrence` ( - `id_interval` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) DEFAULT NULL, - `name` varchar(255) DEFAULT NULL, - `name_plural` varchar(256) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_interval`), - KEY `FK_Shop_Interval_Recurrence_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Interval_Recurrence_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_interval_recurrence` --- - -LOCK TABLES `shop_interval_recurrence` WRITE; -/*!40000 ALTER TABLE `shop_interval_recurrence` DISABLE KEYS */; -INSERT INTO `shop_interval_recurrence` VALUES (1,'WEEK','Week','Weeks',_binary '','2024-04-28 19:03:07','root@localhost',NULL),(2,'MONTH','Month','Months',_binary '','2024-04-28 19:03:07','root@localhost',NULL),(3,'YEAR','Year','Years',_binary '','2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_interval_recurrence` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_interval_recurrence_audit` --- - -DROP TABLE IF EXISTS `shop_interval_recurrence_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_interval_recurrence_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_interval` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(256) DEFAULT NULL, - `value_new` varchar(256) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Interval_Recurrence_Audit_id_interval` (`id_interval`), - KEY `FK_Shop_Interval_Recurrence_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Interval_Recurrence_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Interval_Recurrence_Audit_id_interval` FOREIGN KEY (`id_interval`) REFERENCES `shop_interval_recurrence` (`id_interval`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_interval_recurrence_audit` --- - -LOCK TABLES `shop_interval_recurrence_audit` WRITE; -/*!40000 ALTER TABLE `shop_interval_recurrence_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_interval_recurrence_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_region` --- - -DROP TABLE IF EXISTS `shop_region`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_region` ( - `id_region` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) NOT NULL, - `name` varchar(200) NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_region`), - KEY `FK_Shop_Region_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Region_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_region` --- - -LOCK TABLES `shop_region` WRITE; -/*!40000 ALTER TABLE `shop_region` DISABLE KEYS */; -INSERT INTO `shop_region` VALUES (1,'UK','United Kingdom',_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_region` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Region` BEFORE INSERT ON `shop_region` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Region` BEFORE UPDATE ON `shop_region` 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_Region_Audit ( - id_region, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_region, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_region, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed active - SELECT NEW.id_region, 'active', CONVERT(OLD.active, CHAR), CONVERT(NEW.active, CHAR), NEW.id_change_set - WHERE NOT OLD.active <=> NEW.active - UNION - # Changed display_order - SELECT NEW.id_region, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set - WHERE NOT OLD.display_order <=> NEW.display_order - ; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_region_audit` --- - -DROP TABLE IF EXISTS `shop_region_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_region_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_region` int NOT NULL, - `name_field` varchar(64) NOT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Region_Audit_id_region` (`id_region`), - KEY `FK_Shop_Region_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Region_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Region_Audit_id_region` FOREIGN KEY (`id_region`) REFERENCES `shop_region` (`id_region`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_region_audit` --- - -LOCK TABLES `shop_region_audit` WRITE; -/*!40000 ALTER TABLE `shop_region_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_region_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_region_branch` --- - -DROP TABLE IF EXISTS `shop_region_branch`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_region_branch` ( - `id_branch` int NOT NULL AUTO_INCREMENT, - `id_region_parent` int NOT NULL, - `id_region_child` int NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_branch`), - KEY `FK_Shop_Region_Branch_id_region_parent` (`id_region_parent`), - KEY `FK_Shop_Region_Branch_id_region_child` (`id_region_child`), - KEY `FK_Shop_Region_Branch_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Region_Branch_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Region_Branch_id_region_child` FOREIGN KEY (`id_region_child`) REFERENCES `shop_region` (`id_region`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Region_Branch_id_region_parent` FOREIGN KEY (`id_region_parent`) REFERENCES `shop_region` (`id_region`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_region_branch` --- - -LOCK TABLES `shop_region_branch` WRITE; -/*!40000 ALTER TABLE `shop_region_branch` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_region_branch` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Region_Branch` BEFORE INSERT ON `shop_region_branch` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Region_Branch` BEFORE UPDATE ON `shop_region_branch` 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_Region_Branch_Audit ( - id_branch, - name_field, - value_prev, - value_new, - id_change_set - ) - /* - # Changed depth - SELECT NEW.id_branch, 'depth', CONVERT(OLD.depth, CHAR), CONVERT(NEW.depth, CHAR), NEW.id_change_set - WHERE NOT OLD.depth <=> NEW.depth - UNION - */ - # Changed active - SELECT NEW.id_branch, 'active', CONVERT(OLD.active, CHAR), CONVERT(NEW.active, CHAR), NEW.id_change_set - WHERE NOT OLD.active <=> NEW.active - UNION - # Changed display_order - SELECT NEW.id_branch, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set - WHERE NOT OLD.display_order <=> NEW.display_order - ; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_region_branch_audit` --- - -DROP TABLE IF EXISTS `shop_region_branch_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_region_branch_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_branch` int NOT NULL, - `name_field` varchar(64) NOT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Region_Branch_Audit_id_branch` (`id_branch`), - KEY `FK_Shop_Region_Branch_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Region_Branch_Audit_id_branch` FOREIGN KEY (`id_branch`) REFERENCES `shop_region_branch` (`id_branch`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Region_Branch_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_region_branch_audit` --- - -LOCK TABLES `shop_region_branch_audit` WRITE; -/*!40000 ALTER TABLE `shop_region_branch_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_region_branch_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_role` --- - -DROP TABLE IF EXISTS `shop_role`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_role` ( - `id_role` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) DEFAULT NULL, - `name` varchar(255) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_role`), - KEY `FK_Shop_Role_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Role_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`) -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_role` --- - -LOCK TABLES `shop_role` WRITE; -/*!40000 ALTER TABLE `shop_role` DISABLE KEYS */; -INSERT INTO `shop_role` VALUES (1,'DIRECTOR','Director',_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,'USER','User',_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_role` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Role` BEFORE UPDATE ON `shop_role` 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_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) - UNION - # Changed display_order - SELECT NEW.id_role, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_role_audit` --- - -DROP TABLE IF EXISTS `shop_role_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_role_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_role` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Role_Audit_id_role` (`id_role`), - KEY `FK_Shop_Role_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Role_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Role_Audit_id_role` FOREIGN KEY (`id_role`) REFERENCES `shop_role` (`id_role`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_role_audit` --- - -LOCK TABLES `shop_role_audit` WRITE; -/*!40000 ALTER TABLE `shop_role_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_role_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_role_permission_link` --- - -DROP TABLE IF EXISTS `shop_role_permission_link`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_role_permission_link` ( - `id_link` int NOT NULL AUTO_INCREMENT, - `id_role` int DEFAULT NULL, - `id_permission` int DEFAULT NULL, - `id_access_level` int DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_link`), - KEY `FK_Shop_Role_Permission_Link_id_role` (`id_role`), - KEY `FK_Shop_Role_Permission_Link_id_permission` (`id_permission`), - KEY `FK_Shop_Role_Permission_Link_id_access_level` (`id_access_level`), - KEY `FK_Shop_Role_Permission_Link_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Role_Permission_Link_id_access_level` FOREIGN KEY (`id_access_level`) REFERENCES `shop_access_level` (`id_access_level`), - CONSTRAINT `FK_Shop_Role_Permission_Link_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Role_Permission_Link_id_permission` FOREIGN KEY (`id_permission`) REFERENCES `shop_permission` (`id_permission`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Role_Permission_Link_id_role` FOREIGN KEY (`id_role`) REFERENCES `shop_role` (`id_role`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_role_permission_link` --- - -LOCK TABLES `shop_role_permission_link` WRITE; -/*!40000 ALTER TABLE `shop_role_permission_link` DISABLE KEYS */; -INSERT INTO `shop_role_permission_link` VALUES (1,1,1,3,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(2,1,2,3,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(3,1,3,3,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(4,1,4,3,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(5,1,5,3,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(6,2,1,1,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(7,2,2,1,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(8,2,3,1,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(9,2,4,1,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(10,2,5,1,_binary '','2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_role_permission_link` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Role_Permission_Link` BEFORE UPDATE ON `shop_role_permission_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_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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_role_permission_link_audit` --- - -DROP TABLE IF EXISTS `shop_role_permission_link_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_role_permission_link_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_link` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Role_Permission_Link_Audit_id_link` (`id_link`), - KEY `FK_Shop_Role_Permission_Link_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Role_Permission_Link_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Role_Permission_Link_Audit_id_link` FOREIGN KEY (`id_link`) REFERENCES `shop_role_permission_link` (`id_link`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_role_permission_link_audit` --- - -LOCK TABLES `shop_role_permission_link_audit` WRITE; -/*!40000 ALTER TABLE `shop_role_permission_link_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_role_permission_link_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_tax_or_surcharge` --- - -DROP TABLE IF EXISTS `shop_tax_or_surcharge`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_tax_or_surcharge` ( - `id_tax` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) NOT NULL, - `name` varchar(200) NOT NULL, - `id_region_buyer` int NOT NULL, - `id_region_seller` int NOT NULL, - `id_currency` int DEFAULT NULL, - `fixed_fee` float NOT NULL DEFAULT '0', - `multiplier` float NOT NULL DEFAULT '1', - `apply_fixed_fee_before_multiplier` bit(1) DEFAULT b'1', - `quantity_min` float NOT NULL DEFAULT '0', - `quantity_max` float NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_tax`), - KEY `FK_Shop_Tax_Or_Surcharge_id_region_buyer` (`id_region_buyer`), - KEY `FK_Shop_Tax_Or_Surcharge_id_region_seller` (`id_region_seller`), - KEY `FK_Shop_Tax_Or_Surcharge_id_currency` (`id_currency`), - KEY `FK_Shop_Tax_Or_Surcharge_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Tax_Or_Surcharge_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Tax_Or_Surcharge_id_currency` FOREIGN KEY (`id_currency`) REFERENCES `shop_currency` (`id_currency`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Tax_Or_Surcharge_id_region_buyer` FOREIGN KEY (`id_region_buyer`) REFERENCES `shop_region` (`id_region`), - CONSTRAINT `FK_Shop_Tax_Or_Surcharge_id_region_seller` FOREIGN KEY (`id_region_seller`) REFERENCES `shop_region` (`id_region`), - CONSTRAINT `shop_tax_or_surcharge_chk_1` CHECK ((`multiplier` > 0)) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_tax_or_surcharge` --- - -LOCK TABLES `shop_tax_or_surcharge` WRITE; -/*!40000 ALTER TABLE `shop_tax_or_surcharge` DISABLE KEYS */; -INSERT INTO `shop_tax_or_surcharge` VALUES (1,'VAT','Value Added Tax',1,1,NULL,0,0.2,_binary '',0,1,_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_tax_or_surcharge` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Tax_Or_Surcharge` BEFORE INSERT ON `shop_tax_or_surcharge` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Tax_Or_Surcharge` BEFORE UPDATE ON `shop_tax_or_surcharge` 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_Tax_Or_Surcharge_Audit ( - id_tax, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_tax, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_tax, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed fixed_fee - SELECT NEW.id_tax, 'fixed_fee', OLD.fixed_fee, NEW.fixed_fee, NEW.id_change_set - WHERE NOT OLD.fixed_fee <=> NEW.fixed_fee - UNION - # Changed multiplier - SELECT NEW.id_tax, 'multiplier', OLD.multiplier, NEW.multiplier, NEW.id_change_set - WHERE NOT OLD.multiplier <=> NEW.multiplier - UNION - # Changed apply_fixed_fee_before_multiplier - SELECT NEW.id_tax, 'apply_fixed_fee_before_multiplier', CONVERT(CONVERT(OLD.apply_fixed_fee_before_multiplier, SIGNED), CHAR), CONVERT(CONVERT(NEW.apply_fixed_fee_before_multiplier, SIGNED), CHAR), NEW.id_change_set - WHERE NOT OLD.apply_fixed_fee_before_multiplier <=> NEW.apply_fixed_fee_before_multiplier - UNION - # Changed quantity_min - SELECT NEW.id_tax, 'quantity_min', OLD.quantity_min, NEW.quantity_min, NEW.id_change_set - WHERE NOT OLD.quantity_min <=> NEW.quantity_min - UNION - # Changed quantity_max - SELECT NEW.id_tax, 'quantity_max', OLD.quantity_max, NEW.quantity_max, NEW.id_change_set - WHERE NOT OLD.quantity_max <=> NEW.quantity_max - UNION - # Changed display_order - SELECT NEW.id_tax, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set - WHERE NOT OLD.display_order <=> NEW.display_order - UNION - # Changed active - SELECT NEW.id_tax, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_tax_or_surcharge_audit` --- - -DROP TABLE IF EXISTS `shop_tax_or_surcharge_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_tax_or_surcharge_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_tax` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Tax_Or_Surcharge_Audit_id_discount` (`id_tax`), - KEY `FK_Shop_Tax_Or_Surcharge_Audit_id_change_set` (`id_change_set`), - 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, - CONSTRAINT `FK_Shop_Tax_Or_Surcharge_Audit_id_discount` FOREIGN KEY (`id_tax`) REFERENCES `shop_tax_or_surcharge` (`id_tax`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_tax_or_surcharge_audit` --- - -LOCK TABLES `shop_tax_or_surcharge_audit` WRITE; -/*!40000 ALTER TABLE `shop_tax_or_surcharge_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_tax_or_surcharge_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_user` --- - -DROP TABLE IF EXISTS `shop_user`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user` ( - `id_user` varchar(200) NOT NULL, - `name` varchar(255) NOT NULL, - `email` varchar(254) NOT NULL, - `email_verified` bit(1) NOT NULL DEFAULT b'0', - `is_super_user` bit(1) NOT NULL DEFAULT b'0', - `active` bit(1) NOT NULL DEFAULT b'1', - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_user`), - KEY `FK_Shop_User_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user` --- - -LOCK TABLES `shop_user` WRITE; -/*!40000 ALTER TABLE `shop_user` DISABLE KEYS */; -INSERT INTO `shop_user` VALUES ('auth0|6582b95c895d09a70ba10fef','Teddy','edward.middletonsmith@gmail.com',_binary '\0',_binary '',_binary '','2024-04-28 19:03:07','root@localhost',NULL),('parts_guest','Guest','',_binary '\0',_binary '\0',_binary '','2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_user` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_User` BEFORE UPDATE ON `shop_user` 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_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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_user_audit` --- - -DROP TABLE IF EXISTS `shop_user_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_user` varchar(200) NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_User_Audit_id_user` (`id_user`), - KEY `FK_Shop_User_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_User_Audit_id_user` FOREIGN KEY (`id_user`) REFERENCES `shop_user` (`id_user`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_audit` --- - -LOCK TABLES `shop_user_audit` WRITE; -/*!40000 ALTER TABLE `shop_user_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_user_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_user_basket` --- - -DROP TABLE IF EXISTS `shop_user_basket`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_basket` ( - `id_item` int NOT NULL AUTO_INCREMENT, - `id_user` varchar(200) NOT NULL, - `id_product` int NOT NULL, - `id_permutation` int DEFAULT NULL, - `quantity` int NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set_user` int DEFAULT NULL, - PRIMARY KEY (`id_item`), - KEY `FK_Shop_User_Basket_id_user` (`id_user`), - KEY `FK_Shop_User_Basket_id_product` (`id_product`), - KEY `FK_Shop_User_Basket_id_permutation` (`id_permutation`), - KEY `FK_Shop_User_Basket_id_change_set_user` (`id_change_set_user`), - CONSTRAINT `FK_Shop_User_Basket_id_change_set_user` FOREIGN KEY (`id_change_set_user`) REFERENCES `shop_user_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Basket_id_permutation` FOREIGN KEY (`id_permutation`) REFERENCES `shop_product_permutation` (`id_permutation`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_User_Basket_id_product` FOREIGN KEY (`id_product`) REFERENCES `shop_product` (`id_product`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_User_Basket_id_user` FOREIGN KEY (`id_user`) REFERENCES `shop_user` (`id_user`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_basket` --- - -LOCK TABLES `shop_user_basket` WRITE; -/*!40000 ALTER TABLE `shop_user_basket` DISABLE KEYS */; -INSERT INTO `shop_user_basket` VALUES (1,'auth0|6582b95c895d09a70ba10fef',1,1,69,_binary '','2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_user_basket` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_User_Basket` BEFORE INSERT ON `shop_user_basket` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_User_Basket` BEFORE UPDATE ON `shop_user_basket` FOR EACH ROW BEGIN - IF NEW.id_change_set_user <=> OLD.id_change_set_user THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'New change Set ID must be provided.'; - END IF; - - INSERT INTO Shop_User_Basket_Audit ( - id_item, - name_field, - value_prev, - value_new, - id_change_set_user - ) - # Changed id_user - SELECT NEW.id_item, 'id_user', OLD.id_user, NEW.id_user, NEW.id_change_set_user - WHERE NOT OLD.id_user <=> NEW.id_user - UNION - # Changed id_product - SELECT NEW.id_item, 'id_product', OLD.id_product, NEW.id_product, NEW.id_change_set_user - WHERE NOT OLD.id_product <=> NEW.id_product - UNION - # Changed quantity - SELECT NEW.id_item, 'quantity', CONVERT(OLD.quantity, CHAR), CONVERT(NEW.quantity, CHAR), NEW.id_change_set_user - WHERE NOT (OLD.quantity <=> NEW.quantity) - UNION - # Changed active - SELECT NEW.id_item, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_user_basket_audit` --- - -DROP TABLE IF EXISTS `shop_user_basket_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_basket_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_item` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set_user` int DEFAULT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_User_Basket_Audit_id_link` (`id_item`), - KEY `FK_Shop_User_Basket_Audit_id_change_set_user` (`id_change_set_user`), - CONSTRAINT `FK_Shop_User_Basket_Audit_id_change_set_user` FOREIGN KEY (`id_change_set_user`) REFERENCES `shop_user_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Basket_Audit_id_link` FOREIGN KEY (`id_item`) REFERENCES `shop_user_basket` (`id_item`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_basket_audit` --- - -LOCK TABLES `shop_user_basket_audit` WRITE; -/*!40000 ALTER TABLE `shop_user_basket_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_user_basket_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_user_change_set` --- - -DROP TABLE IF EXISTS `shop_user_change_set`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_change_set` ( - `id_change_set` int NOT NULL AUTO_INCREMENT, - `comment` varchar(500) DEFAULT NULL, - `updated_last_on` datetime DEFAULT NULL, - `updated_last_by` varchar(100) DEFAULT NULL, - PRIMARY KEY (`id_change_set`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_change_set` --- - -LOCK TABLES `shop_user_change_set` WRITE; -/*!40000 ALTER TABLE `shop_user_change_set` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_user_change_set` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_user_order` --- - -DROP TABLE IF EXISTS `shop_user_order`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_order` ( - `id_order` int NOT NULL AUTO_INCREMENT, - `id_user` varchar(200) NOT NULL, - `value_total` float DEFAULT NULL, - `id_order_status` int NOT NULL, - `id_checkout_session` varchar(200) NOT NULL, - `id_currency` int NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set_user` int DEFAULT NULL, - PRIMARY KEY (`id_order`), - KEY `FK_Shop_User_Order_id_user` (`id_user`), - KEY `FK_Shop_User_Order_id_order_status` (`id_order_status`), - KEY `FK_Shop_User_Order_id_currency` (`id_currency`), - KEY `FK_Shop_User_Order_id_change_set_user` (`id_change_set_user`), - CONSTRAINT `FK_Shop_User_Order_id_change_set_user` FOREIGN KEY (`id_change_set_user`) REFERENCES `shop_user_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Order_id_currency` FOREIGN KEY (`id_currency`) REFERENCES `shop_currency` (`id_currency`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_User_Order_id_order_status` FOREIGN KEY (`id_order_status`) REFERENCES `shop_user_order_status` (`id_status`), - CONSTRAINT `FK_Shop_User_Order_id_user` FOREIGN KEY (`id_user`) REFERENCES `shop_user` (`id_user`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_order` --- - -LOCK TABLES `shop_user_order` WRITE; -/*!40000 ALTER TABLE `shop_user_order` DISABLE KEYS */; -INSERT INTO `shop_user_order` VALUES (1,'auth0|6582b95c895d09a70ba10fef',25,1,'noods',1,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(2,'auth0|6582b95c895d09a70ba10fef',25,1,'noods',1,_binary '','2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_user_order` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_user_order_audit` --- - -DROP TABLE IF EXISTS `shop_user_order_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_order_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_order` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set_user` int DEFAULT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_User_Order_Audit_id_order` (`id_order`), - KEY `FK_Shop_User_Order_Audit_id_change_set_user` (`id_change_set_user`), - CONSTRAINT `FK_Shop_User_Order_Audit_id_change_set_user` FOREIGN KEY (`id_change_set_user`) REFERENCES `shop_user_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Order_Audit_id_order` FOREIGN KEY (`id_order`) REFERENCES `shop_user_order` (`id_order`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_order_audit` --- - -LOCK TABLES `shop_user_order_audit` WRITE; -/*!40000 ALTER TABLE `shop_user_order_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_user_order_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_user_order_product_link` --- - -DROP TABLE IF EXISTS `shop_user_order_product_link`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_order_product_link` ( - `id_link` int NOT NULL AUTO_INCREMENT, - `id_order` int NOT NULL, - `id_product` int NOT NULL, - `id_permutation` int DEFAULT NULL, - `quantity` float NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_link`), - KEY `FK_Shop_User_Order_Product_Link_id_order` (`id_order`), - KEY `FK_Shop_User_Order_Product_Link_id_product` (`id_product`), - KEY `FK_Shop_User_Order_Product_Link_id_permutation` (`id_permutation`), - KEY `FK_Shop_User_Order_Product_Link_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Order_Product_Link_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Order_Product_Link_id_order` FOREIGN KEY (`id_order`) REFERENCES `shop_user_order` (`id_order`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_User_Order_Product_Link_id_permutation` FOREIGN KEY (`id_permutation`) REFERENCES `shop_product_permutation` (`id_permutation`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_User_Order_Product_Link_id_product` FOREIGN KEY (`id_product`) REFERENCES `shop_product` (`id_product`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_order_product_link` --- - -LOCK TABLES `shop_user_order_product_link` WRITE; -/*!40000 ALTER TABLE `shop_user_order_product_link` DISABLE KEYS */; -INSERT INTO `shop_user_order_product_link` VALUES (1,1,1,1,69,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(2,1,2,NULL,69,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(3,1,1,2,69,_binary '','2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_user_order_product_link` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_user_order_product_link_audit` --- - -DROP TABLE IF EXISTS `shop_user_order_product_link_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_order_product_link_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_link` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_User_Order_Product_Link_Audit_id_link` (`id_link`), - KEY `FK_Shop_User_Order_Product_Link_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Order_Product_Link_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`), - 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 -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_order_product_link_audit` --- - -LOCK TABLES `shop_user_order_product_link_audit` WRITE; -/*!40000 ALTER TABLE `shop_user_order_product_link_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_user_order_product_link_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_user_order_status` --- - -DROP TABLE IF EXISTS `shop_user_order_status`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_order_status` ( - `id_status` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) DEFAULT NULL, - `name` varchar(255) DEFAULT NULL, - `name_plural` varchar(256) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_status`), - KEY `FK_Shop_User_Order_Status_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Order_Status_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`) -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_order_status` --- - -LOCK TABLES `shop_user_order_status` WRITE; -/*!40000 ALTER TABLE `shop_user_order_status` DISABLE KEYS */; -INSERT INTO `shop_user_order_status` VALUES (1,'SUCCESS','Success','Successes',_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,'FAIL','Failure','Failures',_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_user_order_status` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_User_Order_Status` BEFORE INSERT ON `shop_user_order_status` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_User_Order_Status` BEFORE UPDATE ON `shop_user_order_status` 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_Status_Audit ( - id_Status, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_Status, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_Status, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed name_plural - SELECT NEW.id_Status, 'name_plural', OLD.name_plural, NEW.name_plural, NEW.id_change_set - WHERE NOT OLD.name_plural <=> NEW.name_plural - UNION - # Changed active - SELECT NEW.id_Status, '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_Status, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_user_order_status_audit` --- - -DROP TABLE IF EXISTS `shop_user_order_status_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_order_status_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_status` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_User_Order_Status_Audit_id_status` (`id_status`), - KEY `FK_Shop_User_Order_Status_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Order_Status_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Order_Status_Audit_id_status` FOREIGN KEY (`id_status`) REFERENCES `shop_user_order_status` (`id_status`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_order_status_audit` --- - -LOCK TABLES `shop_user_order_status_audit` WRITE; -/*!40000 ALTER TABLE `shop_user_order_status_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_user_order_status_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_user_role_link` --- - -DROP TABLE IF EXISTS `shop_user_role_link`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_role_link` ( - `id_link` int NOT NULL AUTO_INCREMENT, - `id_user` varchar(200) NOT NULL, - `id_role` int NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_link`), - KEY `FK_Shop_User_Role_Link_id_user` (`id_user`), - KEY `FK_Shop_User_Role_Link_id_role` (`id_role`), - KEY `FK_Shop_User_Role_Link_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Role_Link_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Role_Link_id_role` FOREIGN KEY (`id_role`) REFERENCES `shop_role` (`id_role`), - CONSTRAINT `FK_Shop_User_Role_Link_id_user` FOREIGN KEY (`id_user`) REFERENCES `shop_user` (`id_user`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_role_link` --- - -LOCK TABLES `shop_user_role_link` WRITE; -/*!40000 ALTER TABLE `shop_user_role_link` DISABLE KEYS */; -INSERT INTO `shop_user_role_link` VALUES (1,'auth0|6582b95c895d09a70ba10fef',1,_binary '','2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_user_role_link` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_User_Role_Link` BEFORE UPDATE ON `shop_user_role_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_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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_user_role_link_audit` --- - -DROP TABLE IF EXISTS `shop_user_role_link_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_role_link_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_link` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_User_Role_Link_Audit_id_link` (`id_link`), - KEY `FK_Shop_User_Role_Link_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Role_Link_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Role_Link_Audit_id_link` FOREIGN KEY (`id_link`) REFERENCES `shop_user_role_link` (`id_link`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_role_link_audit` --- - -LOCK TABLES `shop_user_role_link_audit` WRITE; -/*!40000 ALTER TABLE `shop_user_role_link_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_user_role_link_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_variation` --- - -DROP TABLE IF EXISTS `shop_variation`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_variation` ( - `id_variation` int NOT NULL AUTO_INCREMENT, - `id_type` int NOT NULL, - `code` varchar(50) DEFAULT NULL, - `name` varchar(255) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_variation`), - KEY `FK_Shop_Variation_id_type` (`id_type`), - KEY `FK_Shop_Variation_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Variation_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Variation_id_type` FOREIGN KEY (`id_type`) REFERENCES `shop_variation_type` (`id_type`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_variation` --- - -LOCK TABLES `shop_variation` WRITE; -/*!40000 ALTER TABLE `shop_variation` DISABLE KEYS */; -INSERT INTO `shop_variation` VALUES (1,1,'RED','Red',_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,1,'BLUE','Blue',_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_variation` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Variation` BEFORE INSERT ON `shop_variation` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Variation` BEFORE UPDATE ON `shop_variation` 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_Variation_Audit ( - id_variation, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_variation, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_variation, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed active - SELECT NEW.id_variation, '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_variation, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_variation_audit` --- - -DROP TABLE IF EXISTS `shop_variation_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_variation_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_variation` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Variation_Audit_id_variation` (`id_variation`), - KEY `FK_Shop_Variation_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Variation_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Variation_Audit_id_variation` FOREIGN KEY (`id_variation`) REFERENCES `shop_variation` (`id_variation`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_variation_audit` --- - -LOCK TABLES `shop_variation_audit` WRITE; -/*!40000 ALTER TABLE `shop_variation_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_variation_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_variation_type` --- - -DROP TABLE IF EXISTS `shop_variation_type`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_variation_type` ( - `id_type` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) DEFAULT NULL, - `name` varchar(255) DEFAULT NULL, - `name_plural` varchar(256) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_type`), - KEY `FK_Shop_Variation_Type_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Variation_Type_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_variation_type` --- - -LOCK TABLES `shop_variation_type` WRITE; -/*!40000 ALTER TABLE `shop_variation_type` DISABLE KEYS */; -INSERT INTO `shop_variation_type` VALUES (1,'COLOUR','Colour','Colours',_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_variation_type` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Variation_Type` BEFORE INSERT ON `shop_variation_type` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Variation_Type` BEFORE UPDATE ON `shop_variation_type` 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_Variation_Type_Audit ( - id_type, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_type, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_type, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed name_plural - SELECT NEW.id_type, 'name_plural', OLD.name_plural, NEW.name_plural, NEW.id_change_set - WHERE NOT OLD.name_plural <=> NEW.name_plural - UNION - # Changed active - SELECT NEW.id_type, '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_type, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_variation_type_audit` --- - -DROP TABLE IF EXISTS `shop_variation_type_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_variation_type_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_type` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Variation_Type_Audit_id_type` (`id_type`), - KEY `FK_Shop_Variation_Type_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Variation_Type_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Variation_Type_Audit_id_type` FOREIGN KEY (`id_type`) REFERENCES `shop_variation_type` (`id_type`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_variation_type_audit` --- - -LOCK TABLES `shop_variation_type_audit` WRITE; -/*!40000 ALTER TABLE `shop_variation_type_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_variation_type_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `tmp_msg_error` --- - -DROP TABLE IF EXISTS `tmp_msg_error`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `tmp_msg_error` ( - `display_order` int NOT NULL AUTO_INCREMENT, - `guid` varchar(36) NOT NULL, - `id_type` int NOT NULL, - `msg` varchar(4000) NOT NULL, - PRIMARY KEY (`display_order`), - KEY `FK_tmp_Msg_Error_id_type` (`id_type`), - CONSTRAINT `FK_tmp_Msg_Error_id_type` FOREIGN KEY (`id_type`) REFERENCES `shop_msg_error_type` (`id_type`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `tmp_msg_error` --- - -LOCK TABLES `tmp_msg_error` WRITE; -/*!40000 ALTER TABLE `tmp_msg_error` DISABLE KEYS */; -/*!40000 ALTER TABLE `tmp_msg_error` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping events for database 'partsltd_prod' --- - --- --- Dumping routines for database 'partsltd_prod' --- -/*!50003 DROP PROCEDURE IF EXISTS `p_shop_edit_user` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_edit_user`( - IN a_id_user INT, - IN a_name VARCHAR(255), - IN a_email VARCHAR(254), - IN a_email_verified BIT -) -BEGIN - -- Argument redeclaration - -- Variable declaration - DECLARE v_has_filter_user BIT; - -- DECLARE v_now DATETIME; - - - -- 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_name IS NULL THEN - SET a_name = ''; - ELSE - SET a_name = TRIM(a_name); - END IF; - IF a_email IS NULL THEN - SET a_email = ''; - ELSE - SET a_email = TRIM(a_email); - END IF; - IF a_email_verified IS NULL THEN - SET a_email_verified = 0; - END IF; - - -- Temporary tables - DROP TABLE IF EXISTS tmp_Msg_Error; - DROP TABLE IF EXISTS tmp_Shop_User; - - CREATE TABLE tmp_Shop_User ( - id_user INT NOT NULL, - CONSTRAINT FK_tmp_Shop_User_id_user - FOREIGN KEY (id_user) - REFERENCES Shop_User(id_user), - active BIT NOT NULL - ); - - CREATE TABLE tmp_Msg_Error ( - display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT, - id_type INT NOT NULL, - # code VARCHAR(50) NOT NULL, - # CONSTRAINT chk_tmp_Msg_Error_code CHECK (code IN (SELECT code FROM Shop_Msg_Error_Type)), - 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_has_filter_user = CASE WHEN a_id_user = '' THEN 0 ELSE 1 END; - - - -- User - 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 - ; - - IF NOT EXISTS (SELECT id_user FROM tmp_Shop_User LIMIT 1) THEN - INSERT INTO Shop_User ( - id_user, - name, - email, - email_verified - ) - VALUES ( - a_id_user, - a_name, - a_email, - a_email_verified - ); - - 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 - ; - END IF; - - SET a_id_user := (SELECT id_user FROM tmp_Shop_User LIMIT 1); - ELSE - INSERT INTO tmp_Msg_Error ( - id_type, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - 'No user ID provided.' - ) - ; - END IF; - - - /* - IF NOT EXISTS (SELECT msg FROM tmp_Msg_Error LIMIT 1) THEN - END IF; - */ - - - -- Returns - # User - SELECT * - FROM tmp_Shop_User - ; - - # Errors - SELECT * - FROM tmp_Msg_Error - ; - - /* - # Return arguments for test - SELECT a_id_user, - a_name, - a_email, - a_email_verified - ; - */ - - -- Clean up - DROP TABLE IF EXISTS tmp_Msg_Error; - DROP TABLE IF EXISTS tmp_Shop_User; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `p_shop_edit_user_basket` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_edit_user_basket`( - IN a_id_user INT, - IN a_ids_permutation_basket VARCHAR(4000), - IN a_quantities_permutation_basket VARCHAR(4000), - IN a_id_permutation_edit INT, - IN a_quantity_permutation_edit INT, - IN a_sum_not_edit BIT, - IN a_id_currency INT, - IN a_id_region_purchase INT -) -BEGIN - -- Argument redeclaration - -- Variable declaration - DECLARE v_has_filter_user BIT; - DECLARE v_has_filter_permutation_basket BIT; - DECLARE v_has_filter_permutation_edit BIT; - DECLARE v_has_filter_region BIT; - DECLARE v_has_filter_currency BIT; - DECLARE v_n_id_permutation_basket INT; - DECLARE v_n_quantity_permutation_basket INT; - DECLARE v_row_number INT; - DECLARE v_guid BINARY(36); - # DECLARE v_id_user VARCHAR(100); - DECLARE v_id_permission_product INT; - DECLARE v_ids_permutation_permission VARCHAR(4000); - DECLARE v_now DATETIME; - # DECLARE v_quantity_new INT; - DECLARE v_change_set_used BIT; - DECLARE v_id_change_set INT; - - 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_permutation_basket IS NULL THEN - SET a_ids_permutation_basket = ''; - ELSE - SET a_ids_permutation_basket = TRIM(a_ids_permutation_basket); - END IF; - IF a_quantities_permutation_basket IS NULL THEN - SET a_quantities_permutation_basket = ''; - ELSE - SET a_quantities_permutation_basket = TRIM(a_quantities_permutation_basket); - END IF; - IF a_sum_not_edit IS NULL THEN - SET a_sum_not_edit = 1; - END IF; - - -- Temporary tables - DROP TABLE IF EXISTS tmp_Msg_Error; - DROP TABLE IF EXISTS tmp_Shop_Basket; - DROP TEMPORARY TABLE IF EXISTS tmp_Shop_Quantity; - DROP TABLE IF EXISTS tmp_Shop_Product; - DROP TABLE IF EXISTS tmp_Shop_User; - - CREATE TABLE tmp_Shop_User ( - id_user INT NOT NULL, - CONSTRAINT FK_tmp_Shop_User_id_user - FOREIGN KEY (id_user) - REFERENCES Shop_User(id_user), - active BIT NOT NULL - ); - - 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 NOT NULL, - CONSTRAINT FK_tmp_Shop_Product_id_permutation - FOREIGN KEY (id_permutation) - REFERENCES Shop_Product_Permutation(id_permutation), - display_order INT NOT NULL, - active INT NOT NULL DEFAULT 1 - ); - - CREATE TEMPORARY TABLE tmp_Shop_Quantity( - quantity INT NOT NULL, - display_order INT NOT NULL, - active INT NOT NULL DEFAULT 1 - ); - - CREATE TABLE tmp_Shop_Basket ( - id_category INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Basket_id_category - FOREIGN KEY (id_category) - REFERENCES Shop_Product_Category(id_category), - id_product INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Basket_id_product - FOREIGN KEY (id_product) - REFERENCES Shop_Product(id_product), - id_permutation INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Basket_id_permutation - FOREIGN KEY (id_permutation) - REFERENCES Shop_Product_Permutation(id_permutation), - id_region_purchase INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Basket_id_region_purchase - FOREIGN KEY (id_region_purchase) - REFERENCES Shop_Region(id_region), - id_currency INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Basket_id_currency - FOREIGN KEY (id_currency) - REFERENCES Shop_Currency(id_currency), - quantity INT NOT NULL, - active BIT NOT NULL DEFAULT 1 - /* - display_order_category INT NOT NULL, - display_order_product 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, - id_type INT NOT NULL, - # code VARCHAR(50) NOT NULL, - # CONSTRAINT chk_tmp_Msg_Error_code CHECK (code IN (SELECT code FROM Shop_Msg_Error_Type)), - 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_has_filter_user = NOT (a_id_user = ''); - SET v_has_filter_permutation_basket = NOT (a_ids_permutation_basket = ''); - SET v_has_filter_permutation_edit = NOT ISNULL(a_id_permutation_edit); - SET v_has_filter_currency = NOT ISNULL(a_id_currency); - SET v_has_filter_region = NOT ISNULL(a_id_region_purchase); - # SET v_quantity_new = CASE WHEN a_sum_not_edit THEN quantity + a_quantity_product_edit ELSE a_quantity_product_edit END; - /* - SELECT v_has_filter_user, v_has_filter_basket - ; - - */ - - -- Currency - IF NOT v_has_filter_currency THEN - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - 'Currency ID not provided.' - ) - ; - END IF; - IF v_has_filter_currency AND NOT EXISTS ( SELECT * FROM Shop_Currency WHERE id_currency = a_id_currency) THEN - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - CONCAT('Currency ID not found: ', a_id_currency, '.') - ) - ; - END IF; - - -- Region - IF NOT v_has_filter_region THEN - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - 'Region ID not provided.' - ) - ; - END IF; - IF v_has_filter_region AND NOT EXISTS ( SELECT * FROM Shop_Region WHERE id_region = a_id_region_purchase) THEN - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - CONCAT('Region ID not found: ', a_id_region_purchase, '.') - ) - ; - END IF; - - -- User - 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 - ; - - IF NOT EXISTS (SELECT id_user FROM tmp_Shop_User LIMIT 1) THEN - SET v_has_filter_user = 0; - - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - CONCAT('User ID not found: ', a_id_user, '.') - ) - ; - END IF; - - SET a_id_user := (SELECT id_user FROM tmp_Shop_User LIMIT 1); - END IF; - - IF v_has_filter_user AND NOT EXISTS (SELECT msg FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - SET v_change_set_used = 0; - INSERT INTO Shop_User_Change_Set ( - comment - ) - VALUES ( - 'edit basket' - ); - SET v_id_change_set := (SELECT id_change_set FROM Shop_User_Change_Set ORDER BY id_change_set DESC LIMIT 1); - END IF; - - -- Get basket - -- User - IF v_has_filter_user AND NOT EXISTS (SELECT msg FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - INSERT INTO tmp_Shop_Basket ( - id_category, - id_product, - id_permutation, - id_region_purchase, - id_currency, - quantity, - active - /* - display_order_category, - display_order_product - */ - ) - SELECT - C.id_category, - UB.id_product, - UB.id_permutation, - UB.id_region_purchase, - UB.id_currency, - UB.quantity, - UB.active - /* - C.display_order, - P.display_order - */ - FROM Shop_User_Basket UB - /* - INNER JOIN tmp_Shop_User t_U - ON UB.id_user = t_U.id_user - */ - INNER JOIN Shop_Product_Permutation PP - ON UB.id_product = PP.id_product - AND PP.active - INNER JOIN Shop_Product P - ON PP.id_product = P.id_product - AND P.active - INNER JOIN Shop_Product_Category C - ON P.id_category = C.id_category - AND C.active - WHERE UB.id_user = a_id_user - ; - END IF; - - -- Currency - IF EXISTS (SELECT * FROM tmp_Shop_Basket WHERE active LIMIT 1) - AND NOT EXISTS (SELECT msg FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - IF EXISTS (SELECT * FROM tmp_Shop_Basket WHERE active AND id_currency != a_id_currency) THEN - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - CONCAT( - 'Currency ID does not match currency of other items in basket. Basket currency: ', - (SELECT code FROM Shop_Currency WHERE id_currency = ( - SELECT - id_currency - FROM tmp_Shop_Basket - WHERE active - AND id_currency != a_id_currency - LIMIT 1 - )), - ', new currency: ', - (SELECT code FROM Shop_Currency WHERE id_currency = a_id_currency), - '.' - ) - ) - ; - END IF; - END IF; - - -- Region - IF EXISTS (SELECT * FROM tmp_Shop_Basket WHERE active LIMIT 1) - AND NOT EXISTS (SELECT msg FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - IF EXISTS ( - SELECT * - FROM tmp_Shop_Basket - WHERE - active - AND id_region_purchase != a_id_region_purchase - ) THEN - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - CONCAT('Purchase region ID does not match region of other items in basket. Basket currency: ', - (SELECT code FROM Shop_Region WHERE id_region = ( - SELECT - id_region_purchase - FROM tmp_Shop_Basket - WHERE active - AND id_region != a_id_region_purchase - LIMIT 1 - )), - ', new currency: ', - (SELECT code FROM Shop_Region WHERE id_region = a_id_region_purchase), - '.' - ) - ) - ; - END IF; - END IF; - - -- String product id, permutation id, quantity list - IF NOT EXISTS (SELECT * FROM tmp_Shop_Basket WHERE active LIMIT 1) AND NOT EXISTS (SELECT msg FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN -- NOT v_has_filter_user AND - # Get product ids - CALL p_split(a_ids_permutation_basket, ','); - INSERT INTO tmp_Shop_Product ( - id_product, id_permutation, display_order - ) - SELECT PP.id_product, ST.substring, ST.display_order - FROM Split_Temp ST - INNER JOIN Shop_Product_Permutation PP - ON ST.substring = PP.id_permutation - -- AND PP.active - ; - /* - SELECT substring as id_product, display_order - FROM Split_Temp - ; - */ - DROP TABLE Split_Temp; - - # Get product quantities - CALL p_split(a_quantities_permutation_basket, ','); - INSERT INTO tmp_Shop_Quantity ( - quantity, display_order - ) - SELECT substring, display_order - FROM Split_Temp - ; - /* - SELECT substring AS quantity_product, display_order - FROM Split_Temp - ; - */ - DROP TABLE Split_Temp; - - # Compare number of product ids to number of quantities - SET v_n_id_permutation_basket := (SELECT display_order FROM tmp_Shop_Product ORDER BY display_order DESC LIMIT 1); - SET v_n_quantity_permutation_basket := (SELECT display_order FROM tmp_Shop_Quantity ORDER BY display_order DESC LIMIT 1); - IF NOT v_n_id_permutation_basket = v_n_quantity_permutation_basket THEN - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - CONCAT('Number of permutations (', v_n_id_permutation_basket, ') does not equal number of quantities (', v_n_quantity_permutation_basket, ') for basket.') - ) - ; - ELSE - INSERT INTO tmp_Shop_Basket ( - id_category, - id_product, - id_permutation, - id_region_purchase, - id_currency, - quantity - ) - SELECT - C.id_category, - P.id_product, - t_P.id_permutation, - a_id_region_purchase, - a_id_currency, - t_Q.quantity - FROM tmp_Shop_Product t_P - INNER JOIN tmp_Shop_Quantity t_Q - ON t_P.display_order = t_Q.display_order - 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 - AND P.active - INNER JOIN Shop_Product_Category C - ON P.id_category = C.id_category - AND C.active - -- RIGHT JOIN tmp_Shop_Basket t_UB ON ISNULL(t_UB.id_product) - -- WHERE t_P.id_product NOT IN (SELECT id_product FROM tmp_Shop_Basket) - ; - - /* - IF EXISTS( - SELECT * - FROM Shop_Product P - INNER JOIN Shop_Product_Category C - ON P.id_category = C.id_category - INNER JOIN tmp_Shop_Basket t_B - ON P.id_product = t_B.id_product - WHERE C.active = 0 OR P.active = 0 LIMIT 1 - ) THEN - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - CONCAT('No valid product IDs in list: ', a_ids_permutation_basket, '.') - ) - ; - END IF; - */ - END IF; - END IF; - - /* - select v_has_filter_edit; - select * from tmp_Shop_Basket; - select * from tmp_Msg_Error; - */ - - - # Edit basket product - IF v_has_filter_permutation_edit AND NOT EXISTS (SELECT msg FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - IF EXISTS ( - SELECT * - FROM Shop_Product_Permutation PP - INNER JOIN Shop_Product P - ON PP.id_product = P.id_product - INNER JOIN Shop_Product_Category C - ON P.id_category = C.id_category - WHERE - ( - C.active = 0 - OR P.active = 0 - OR PP.active = 0 - ) - AND PP.id_permutation = a_id_permutation_edit - LIMIT 1 - ) THEN - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - CONCAT('Invalid product ID to edit: ', a_id_product_edit, '.') - ) - ; - END IF; - END IF; - IF v_has_filter_permutation_edit AND NOT EXISTS (SELECT msg FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - IF EXISTS ( - SELECT * - FROM tmp_Shop_Basket - WHERE - id_permutation = a_id_permutation_edit - ) THEN - UPDATE tmp_Shop_Basket - SET quantity = CASE WHEN a_sum_not_edit = 1 THEN IFNULL(quantity, 0) + a_quantity_permutation_edit ELSE a_quantity_permutation_edit END, - active = CASE WHEN CASE WHEN a_sum_not_edit = 1 THEN IFNULL(quantity, 0) + a_quantity_permutation_edit ELSE a_quantity_permutation_edit END = 0 THEN 0 ELSE 1 END - WHERE id_permutation = a_id_permutation_edit - ; - - IF EXISTS ( - SELECT * - FROM tmp_Shop_Basket t_B - WHERE t_B.quantity < 0 - ) THEN - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - 'Invalid basket quantity.' - ) - ; - END IF; - - IF v_has_filter_user AND NOT EXISTS (SELECT msg FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - SET v_change_set_used = 1; - - UPDATE Shop_User_Basket UB - INNER JOIN tmp_Shop_Basket t_UB - ON UB.id_permutation = a_id_permutation_edit - SET UB.quantity = t_UB.quantity, - UB.active = t_UB.active, - UB.id_change_set_user = v_id_change_set - WHERE UB.id_permutation = a_id_permutation_edit - AND id_user = a_id_user - ; - END IF; - ELSE - IF a_quantity_permutation_edit < 0 THEN - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - 'Invalid basket quantity.' - ) - ; - ELSE - INSERT INTO tmp_Shop_Basket ( - id_category, - id_product, - id_permutation, - id_region_purchase, - id_currency, - quantity, - active - ) - SELECT - P.id_category, - P.id_product, - PP.id_permutation, - a_id_region_purchase, - a_id_currency, - a_quantity_permutation_edit, - CASE WHEN a_quantity_permutation_edit > 0 THEN 1 ELSE 0 END - FROM Shop_Product_Permutation PP - INNER JOIN Shop_Product P - ON PP.id_product = P.id_product - WHERE id_permutation = a_id_permutation_edit - ; - IF v_has_filter_user THEN - IF EXISTS ( - SELECT * - FROM Shop_User_Basket UB - WHERE - UB.id_permutation = a_id_permutation_edit - ) THEN - SET v_change_set_used = 1; - - UPDATE Shop_User_Basket - INNER JOIN tmp_Shop_Basket t_UB ON UB.id_permutation = t_UB.id_permutation - SET UB.quantity = t_UB.quantity, - UB.active = t_UB.active, - UB.id_change_set_user = v_id_change_set - WHERE UB.id_permutation = a_id_permutation_edit - AND id_user = a_id_user - ; - ELSE - INSERT INTO Shop_User_Basket ( - id_user, - id_product, - id_permutation, - id_region_purchase, - id_currency, - quantity, - active - ) - SELECT a_id_user, - t_UB.id_product, - t_UB.id_permutation, - t_UB.id_region_purchase, - t_UB.id_currency, - t_UB.quantity, - t_UB.active - FROM tmp_Shop_Basket t_UB - WHERE id_permutation = a_id_permutation_edit - ; - END IF; - END IF; - END IF; - END IF; - END IF; - - - -- Checks - /* - SELECT * FROM tmp_Shop_Basket; - SELECT - GROUP_CONCAT(t_UB.id_product SEPARATOR ',') AS basket_product_ids - FROM tmp_Shop_Basket t_UB - -- WHERE ISNULL(t_UB.id_permutation) - ; - SELECT - GROUP_CONCAT(t_UB.id_permutation SEPARATOR ',') AS basket_permutation_ids - FROM tmp_Shop_Basket t_UB - WHERE NOT ISNULL(t_UB.id_permutation) - ; - */ - -- Returns - CALL p_shop_get_many_product ( - a_id_user, # a_id_user - 1, # a_get_all_categories - '', # a_ids_category - 0, # a_get_inactive_categories - 0, # a_get_all_products - ( - SELECT - GROUP_CONCAT(t_B.id_product SEPARATOR ',') - FROM tmp_Shop_Basket t_B - WHERE active = 1 - ), # a_ids_product - 0, # a_get_inactive_products - 0, # a_get_first_product_only - 0, # a_get_all_product_permutations - ( - SELECT - GROUP_CONCAT(t_B.id_permutation SEPARATOR ',') - FROM tmp_Shop_Basket t_B - WHERE NOT ISNULL(t_B.id_permutation) - AND active = 1 - ), # a_ids_permutation - 0, # a_get_inactive_permutations - 0, # a_get_all_images - '', # a_ids_image - 0, # a_get_inactive_images - 1, # a_get_first_image_only - 0, # a_get_all_delivery_region - a_id_region_purchase, # a_ids_delivery_region - 0, # a_get_inactive_delivery_region - 0, # a_get_all_currency - a_id_currency, # a_ids_currency - 0, # a_get_inactive_currency - 1, # a_get_all_discount - '', # a_ids_discount - 0 # a_get_inactive_discount - ); - - # Basket - SELECT t_UB.id_category, - t_UB.id_product, - t_UB.id_permutation, - P.name, - PCL.price_local_VAT_incl, - PCL.price_local_VAT_excl, - PCL.id_currency, - t_UB.quantity - FROM tmp_Shop_Basket t_UB - INNER JOIN Shop_Product_Permutation PP - ON t_UB.id_permutation = PP.id_permutation - INNER JOIN Shop_Product P - ON PP.id_product = P.id_product - INNER JOIN Shop_Product_Category C - ON P.id_category = C.id_category - INNER JOIN Shop_Product_Currency_Link PCL - ON PP.id_permutation = PCL.id_permutation - AND PCL.id_region_purchase = a_id_region_purchase - AND PCL.id_currency = a_id_currency - WHERE t_UB.active = 1 - ORDER BY C.display_order, P.display_order - ; - - # Errors - /* Completed by product get many */ - SELECT - t_ME.display_order, - t_ME.guid, - t_ME.id_type, - t_ME.msg, - MET.code, - MET.name, - MET.description - FROM tmp_Msg_Error t_ME - INNER JOIN Shop_Msg_Error_Type MET - ON t_ME.id_type = MET.id_type - 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 - IF NOT v_change_set_used THEN - DELETE FROM Shop_User_Change_Set - WHERE id_change_set = v_id_change_set - ; - END IF; - - # DROP TABLE IF EXISTS tmp_Msg_Error; - DELETE FROM tmp_Msg_Error WHERE guid = v_guid; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN - DROP TABLE tmp_Msg_Error; - END IF; - DROP TABLE IF EXISTS tmp_Shop_Basket; - DROP TEMPORARY TABLE IF EXISTS tmp_Shop_Quantity; - DROP TABLE IF EXISTS tmp_Shop_Product; - DROP TABLE IF EXISTS tmp_Shop_User; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `p_shop_get_many_currency` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_get_many_currency`( - IN a_get_inactive_currency BIT -) -BEGIN - IF a_get_inactive_currency IS NULL THEN - SET a_get_inactive_currency = 0; - END IF; - - SELECT - C.id_currency, - C.code, - C.name, - C.factor_from_GBP, - C.active, - C.display_order - FROM Shop_Currency C - WHERE a_get_inactive_currency - OR C.active - ORDER BY C.display_order - ; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `p_shop_get_many_product` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_get_many_product`( - IN a_id_user INT, - IN a_get_all_category BIT, - IN a_ids_category VARCHAR(500), - IN a_get_inactive_category BIT, - IN a_get_all_product BIT, - IN a_ids_product VARCHAR(500), - IN a_get_inactive_product BIT, - IN a_get_first_product_only BIT, - IN a_get_all_product_permutation BIT, - IN a_ids_permutation VARCHAR(4000), - IN a_get_inactive_permutation BIT, - IN a_get_all_image BIT, - IN a_ids_image VARCHAR(4000), - IN a_get_inactive_image BIT, - IN a_get_first_image_only BIT, - IN a_get_all_delivery_region BIT, - IN a_ids_delivery_region VARCHAR(4000), - IN a_get_inactive_delivery_region BIT, - IN a_get_all_currency BIT, - IN a_ids_currency VARCHAR(4000), - IN a_get_inactive_currency BIT, - IN a_get_all_discount BIT, - IN a_ids_discount VARCHAR(4000), - IN a_get_inactive_discount BIT -) -BEGIN - -- Argument redeclaration - -- Variable declaration - DECLARE v_has_filter_category BIT; - DECLARE v_has_filter_product BIT; - DECLARE v_has_filter_permutation BIT; - DECLARE v_has_filter_image BIT; - DECLARE v_has_filter_delivery_region BIT; - DECLARE v_has_filter_currency BIT; - DECLARE v_has_filter_discount BIT; - DECLARE v_guid BINARY(36); - # DECLARE v_id_user VARCHAR(100); - DECLARE v_ids_permutation_unavailable VARCHAR(4000); - DECLARE v_id_permission_product INT; - DECLARE v_ids_product_permission VARCHAR(4000); - DECLARE v_ids_permutation_permission VARCHAR(4000); - DECLARE v_id_access_level_view INT; - DECLARE v_now DATETIME; - DECLARE v_id_minimum INT; - - SET v_guid := UUID(); - 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_get_all_category IS NULL THEN - SET a_get_all_category = 0; - END IF; - IF a_ids_category IS NULL THEN - SET a_ids_category = ''; - ELSE - SET a_ids_category = REPLACE(TRIM(a_ids_category), '|', ','); - END IF; - IF a_get_inactive_category IS NULL THEN - SET a_get_inactive_category = 0; - END IF; - IF a_ids_product IS NULL THEN - SET a_ids_product = ''; - ELSE - SET a_ids_product = REPLACE(TRIM(a_ids_product), '|', ','); - END IF; - IF a_get_inactive_product IS NULL THEN - SET a_get_inactive_product = 0; - END IF; - IF a_get_first_product_only IS NULL THEN - SET a_get_first_product_only = 1; - END IF; - IF a_get_all_product IS NULL THEN - SET a_get_all_product = 0; - END IF; - IF a_ids_permutation IS NULL THEN - SET a_ids_permutation = ''; - ELSE - SET a_ids_permutation = REPLACE(TRIM(a_ids_permutation), '|', ','); - END IF; - IF a_get_inactive_permutation IS NULL THEN - SET a_get_inactive_permutation = 0; - END IF; - IF a_get_all_image IS NULL THEN - SET a_get_all_image = 1; - END IF; - IF a_ids_image IS NULL THEN - SET a_ids_image = ''; - ELSE - SET a_ids_image = REPLACE(TRIM(a_ids_image), '|', ','); - END IF; - IF a_get_inactive_image IS NULL THEN - SET a_get_inactive_image = 0; - END IF; - IF a_get_first_image_only IS NULL THEN - SET a_get_first_image_only = 0; - END IF; - IF a_get_inactive_image IS NULL THEN - SET a_get_inactive_image = 0; - END IF; - IF a_get_all_delivery_region IS NULL THEN - SET a_get_all_delivery_region = 1; - END IF; - IF a_ids_delivery_region IS NULL THEN - SET a_ids_delivery_region = ''; - ELSE - SET a_ids_delivery_region = REPLACE(TRIM(a_ids_delivery_region), '|', ','); - END IF; - IF a_get_inactive_delivery_region IS NULL THEN - SET a_get_inactive_delivery_region = 0; - END IF; - IF a_get_all_currency IS NULL THEN - SET a_get_all_currency = 1; - END IF; - IF a_ids_currency IS NULL THEN - SET a_ids_currency = ''; - ELSE - SET a_ids_currency = REPLACE(TRIM(a_ids_currency), '|', ','); - END IF; - IF a_get_inactive_currency IS NULL THEN - SET a_get_inactive_currency = 0; - END IF; - IF a_get_all_discount IS NULL THEN - SET a_get_all_discount = 1; - END IF; - IF a_ids_discount IS NULL THEN - SET a_ids_discount = ''; - ELSE - SET a_ids_discount = REPLACE(TRIM(a_ids_discount), '|', ','); - END IF; - IF a_get_inactive_discount IS NULL THEN - SET a_get_inactive_discount = 0; - END IF; - - /* - SELECT a_id_user, a_get_all_category, a_ids_category, a_get_inactive_category, a_get_all_product, - a_ids_product, a_get_inactive_product, a_get_first_product_only, a_get_all_product_permutation, a_ids_permutation, - a_get_inactive_permutation, a_get_all_image, a_ids_image, a_get_inactive_image, a_get_first_image_only, - a_get_all_delivery_region, a_ids_delivery_region, a_get_inactive_delivery_region, a_get_all_currency, a_ids_currency, - a_get_inactive_currency, a_get_all_discount, a_ids_discount, a_get_inactive_discount - ; - */ - - -- Temporary tables - DROP TABLE IF EXISTS tmp_Discount; - DROP TABLE IF EXISTS tmp_Currency; - DROP TABLE IF EXISTS tmp_Delivery_Region; - DROP TABLE IF EXISTS tmp_Shop_Image; - DROP TABLE IF EXISTS tmp_Shop_Variation; - DROP TABLE IF EXISTS tmp_Shop_Product; - DROP TABLE IF EXISTS tmp_Shop_Product_Category; - - CREATE TABLE tmp_Shop_Product_Category ( - id_category INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Product_Category_id_category - FOREIGN KEY (id_category) - REFERENCES Shop_Product_Category(id_category), - active BIT NOT NULL, - display_order INT NOT NULL, - can_view BIT, - can_edit BIT, - can_admin BIT - ); - - CREATE TABLE tmp_Shop_Product ( - id_category INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Product_id_category - FOREIGN KEY (id_category) - REFERENCES Shop_Product_Category(id_category), - id_product INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Product_id_product - FOREIGN KEY (id_product) - REFERENCES Shop_Product(id_product), - -- product_has_variations BIT NOT NULL, - id_permutation INT NULL, - CONSTRAINT FK_tmp_Shop_Product_id_permutation - FOREIGN KEY (id_permutation) - REFERENCES Shop_Product_Permutation(id_permutation), - active_category BIT NOT NULL, - active_product BIT NOT NULL, - active_permutation BIT NULL, - display_order_category INT NOT NULL, - display_order_product INT NOT NULL, - display_order_permutation INT NULL, - rank_permutation INT NOT NULL, # _in_category - name VARCHAR(255) NOT NULL, - description VARCHAR(4000) NOT NULL, - /* - price_GBP_full FLOAT NOT NULL, - price_GBP_min FLOAT NOT NULL, - */ - latency_manufacture INT NOT NULL, - quantity_min FLOAT NOT NULL, - quantity_max FLOAT NOT NULL, - quantity_step FLOAT NOT NULL, - quantity_stock FLOAT NOT NULL, - is_subscription BIT NOT NULL, - id_unit_measurement_interval_recurrence INT, - CONSTRAINT FK_tmp_Shop_Product_id_unit_measurement_interval_recurrence - FOREIGN KEY (id_unit_measurement_interval_recurrence) - REFERENCES Shop_Interval_Recurrence(id_interval), - count_interval_recurrence INT, - id_stripe_product VARCHAR(100), - product_has_variations INT NOT NULL, - 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_image INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Image_id_image - FOREIGN KEY (id_image) - REFERENCES Shop_Image(id_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), - active BIT NOT NULL, - display_order INT NOT NULL, - rank_in_product_permutation INT NOT NULL - ); - - CREATE TABLE tmp_Delivery_Region ( - id_region INT NOT NULL, - CONSTRAINT FK_tmp_Delivery_Region_id_region - FOREIGN KEY (id_region) - REFERENCES Shop_Region(id_region), - active BIT NOT NULL, - display_order INT NOT NULL, - requires_delivery_option BIT NOT NULL DEFAULT 0 - ); - - CREATE TABLE tmp_Currency ( - id_currency INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Currency_id_currency - FOREIGN KEY (id_currency) - REFERENCES Shop_Currency(id_currency), - active BIT NOT NULL, - display_order INT NOT NULL - ); - - CREATE TABLE tmp_Discount ( - id_discount INT NOT NULL, - CONSTRAINT FK_tmp_Discount_id_discount - FOREIGN KEY (id_discount) - REFERENCES Shop_Discount(id_discount), - active BIT NOT NULL, - display_order INT NOT NULL - ); - - CREATE TABLE IF NOT EXISTS tmp_Msg_Error ( # IF NOT EXISTS - 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_has_filter_category = CASE WHEN a_ids_category = '' THEN 0 ELSE 1 END; - SET v_has_filter_product = CASE WHEN a_ids_product = '' THEN 0 ELSE 1 END; - SET v_has_filter_permutation = CASE WHEN a_ids_permutation = '' THEN 0 ELSE 1 END; - SET v_has_filter_image = CASE WHEN a_ids_image = '' THEN 0 ELSE 1 END; - SET v_has_filter_delivery_region = CASE WHEN a_ids_delivery_region = '' THEN 0 ELSE 1 END; - SET v_has_filter_currency = CASE WHEN a_ids_currency = '' THEN 0 ELSE 1 END; - SET v_has_filter_discount = CASE WHEN a_ids_discount = '' THEN 0 ELSE 1 END; - - -- select v_has_filter_product, v_has_filter_permutation; - - INSERT INTO tmp_Shop_Product ( - id_category, - id_product, - id_permutation, - active_category, - active_product, - active_permutation, - display_order_category, - display_order_product, - display_order_permutation, - rank_permutation, - name, - description, - /* - price_GBP_VAT_incl, - price_GBP_VAT_excl, - price_GBP_min, - */ - latency_manufacture, - quantity_min, - quantity_max, - quantity_step, - quantity_stock, - is_subscription, - id_unit_measurement_interval_recurrence, - count_interval_recurrence, - id_stripe_product, - product_has_variations - ) - SELECT - P.id_category, - P.id_product, - -- P.has_variations AS product_has_variations, - PP.id_permutation, - C.active AS active_category, - P.active AS active_product, - PP.active AS active_permutation, - C.display_order AS display_order_category, - P.display_order AS display_order_product, - PP.display_order AS display_order_permutation, - RANK() OVER (ORDER BY C.display_order, P.display_order, PP.display_order) AS rank_permutation, #PARTITION BY P.id_category # _in_category - P.name, - PP.description, - /* - PP.price_GBP_VAT_incl, - PP.price_GBP_VAT_excl, - PP.price_GBP_min, - */ - PP.latency_manufacture, - PP.quantity_min, - PP.quantity_max, - PP.quantity_step, - PP.quantity_stock, - PP.is_subscription, - PP.id_unit_measurement_interval_recurrence, - PP.count_interval_recurrence, - PP.id_stripe_product, - P.has_variations - FROM Shop_Product P - INNER JOIN Shop_Product_Permutation PP - ON P.id_product = PP.id_product - INNER JOIN Shop_Product_Category C - ON P.id_category = C.id_category - WHERE - # permutations - ( - ( - a_get_all_product_permutation - OR v_has_filter_permutation AND FIND_IN_SET(PP.id_permutation, a_ids_permutation) > 0 - ) - AND (a_get_inactive_permutation OR PP.active) - ) - # categories - AND ( - ( - a_get_all_category - OR v_has_filter_category AND FIND_IN_SET(P.id_category, a_ids_category) > 0 - ) - AND (a_get_inactive_category OR C.active) - ) - # products - AND ( - ( - a_get_all_product - OR v_has_filter_product AND FIND_IN_SET(P.id_product, a_ids_product) > 0 - ) - AND (a_get_inactive_product OR P.active) - ) - ; - - -- select * from tmp_Shop_Product; - - IF a_get_first_product_only THEN - DELETE FROM tmp_Shop_Product t_P - WHERE t_P.rank_permutation > 1 - ; - END IF; - - INSERT INTO tmp_Shop_Product_Category ( - id_category, - active, - display_order - ) - SELECT DISTINCT C.id_category, - C.active, - 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 - ; - - /* - INSERT INTO tmp_Shop_Variation ( - id_variation, id_product # , display_order - ) - SELECT P.id_variation, P.id_product # , P.display_order - FROM Shop_Variation V - INNER JOIN tmp_Shop_Product t_P - ON V.id_product = t_P.id_product - WHERE V.active; - */ - - # Product Images - INSERT INTO tmp_Shop_Image ( - id_product, - id_permutation, - id_image, - active, - display_order, - rank_in_product_permutation - ) - SELECT id_product, - id_permutation, - id_image, - active, - ROW_NUMBER() OVER (ORDER BY display_order_product_temp, display_order_image), - RANK() OVER (PARTITION BY id_product, id_permutation ORDER BY display_order_product_temp, display_order_image) - FROM ( - SELECT t_P.id_product, - I.id_permutation, - I.id_image, - I.active, - I.display_order AS display_order_image, - t_P.rank_permutation AS display_order_product_temp - FROM Shop_Image I - INNER JOIN tmp_Shop_Product t_P - ON I.id_product = t_P.id_product - AND NOT t_P.product_has_variations - UNION - SELECT t_P.id_product, - I.id_permutation, - I.id_image, - I.active, - I.display_order AS display_order_image, - t_P.rank_permutation AS display_order_product_temp - FROM Shop_Image I - INNER JOIN tmp_Shop_Product t_P - ON I.id_permutation = t_P.id_permutation - AND t_P.product_has_variations - ) IPP - WHERE (a_get_all_image OR a_get_first_image_only OR FIND_IN_SET(id_image, a_ids_image) > 0) - AND (a_get_inactive_image OR IPP.active) - ; - - IF a_get_first_image_only THEN - DELETE FROM tmp_Shop_Image - WHERE rank_in_product_permutation > 1 - ; - END IF; - - /* - IF v_has_filter_image THEN - DELETE FROM tmp_Shop_Product - WHERE id_product NOT IN (SELECT DISTINCT id_product FROM tmp_Shop_Image); - DELETE FROM tmp_Shop_Product_Category - WHERE id_category NOT IN (SELECT DISTINCT id_category FROM tmp_Shop_Product); - END IF; - */ - - # Delivery Regions - INSERT INTO tmp_Delivery_Region ( - id_region, - active, - display_order, - requires_delivery_option - ) - WITH RECURSIVE Recursive_CTE_Delivery_Region AS ( - SELECT - DR.id_region AS id_region_parent, - NULL AS id_region_child, - CASE WHEN FIND_IN_SET(DR.id_region, a_ids_delivery_region) > 0 THEN 1 ELSE 0 END AS requires_delivery_option - FROM Shop_Product_Currency_Region_Link PCRL - INNER JOIN Shop_Currency C ON PCRL.id_currency = C.id_currency - INNER JOIN tmp_Shop_Product t_P - ON PCRL.id_product <=> t_P.id_product - AND PCRL.id_permutation <=> t_P.id_permutation - INNER JOIN Shop_Region DR ON PCRL.id_region_purchase = DR.id_region - WHERE - ( - a_get_all_delivery_region - OR FIND_IN_SET(DR.id_region, a_ids_delivery_region) > 0 - ) - AND ( - a_get_inactive_delivery_region - OR DR.active = 1 - ) - UNION - SELECT - DRB.id_region_parent, - DRB.id_region_child, - 0 AS requires_delivery_option - FROM Shop_Region_Branch DRB - INNER JOIN Recursive_CTE_Delivery_Region r_DR - ON DRB.id_region_parent = r_DR.id_region_child - AND ( - a_get_inactive_delivery_region - OR DRB.active = 1 - ) - ) - SELECT - DR.id_region, - DR.active, - DR.display_order, - requires_delivery_option - FROM Shop_Region DR - INNER JOIN Recursive_CTE_Delivery_Region r_DR - ON DR.id_region = r_DR.id_region_parent - OR DR.id_region = r_DR.id_region_child - ; - /* - select * from tmp_delivery_region; - SELECT * - FROM tmp_Shop_Product t_P - WHERE - /*( - a_get_all_category - OR a_get_all_product - OR a_get_all_product_permutation - )* - FIND_IN_SET(t_P.id_category, a_ids_category) > 0 - OR FIND_IN_SET(t_P.id_product, a_ids_product) > 0 - OR FIND_IN_SET(t_P.id_permutation, a_ids_permutation) > 0 - ; - */ - - IF v_has_filter_delivery_region THEN - SET v_ids_permutation_unavailable = ( - SELECT GROUP_CONCAT(t_P.id_permutation SEPARATOR ', ') - FROM ( - SELECT * - FROM tmp_Shop_Product t_P - WHERE - /*( - a_get_all_category - OR a_get_all_produc - OR a_get_all_product_permutation - )*/ - FIND_IN_SET(t_P.id_category, a_ids_category) > 0 - OR FIND_IN_SET(t_P.id_product, a_ids_product) > 0 - OR FIND_IN_SET(t_P.id_permutation, a_ids_permutation) > 0 - ) t_P - LEFT JOIN ( - SELECT * - FROM Shop_Product_Currency_Region_Link PCRL - WHERE - ( - a_get_all_delivery_region - OR FIND_IN_SET(PCRL.id_region_purchase, a_ids_delivery_region) > 0 - ) - ) PCRL - ON t_P.id_product <=> PCRL.id_product - AND t_P.id_permutation <=> PCRL.id_permutation - LEFT JOIN tmp_Delivery_Region t_DR - ON PCRL.id_region_purchase = t_DR.id_region - AND t_DR.requires_delivery_option = 1 - WHERE - ISNULL(t_DR.id_region) - ); - IF NOT ISNULL(v_ids_permutation_unavailable) THEN - INSERT INTO tmp_Msg_Error ( - guid, - id_type, - msg - ) - VALUES ( - v_guid, - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'PRODUCT_AVAILABILITY' LIMIT 1), - CONCAT('Error: The following permutation IDs are not available in this region: ', v_ids_permutation_unavailable) - ); - END IF; - /* - DELETE FROM tmp_Shop_Product t_P - WHERE t_P.id_permutation NOT IN ( - SELECT - id_permutation - FROM Shop_Product_Currency_Region_Link PCL - INNER JOIN tmp_Delivery_Region t_DR - ON PCRL.id_region_purchase = t_DR.id_region - ); - */ - END IF; - - -- select * from tmp_Shop_Product; - - # Currencies - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid) THEN - INSERT INTO tmp_Currency ( - id_currency, - active, - display_order - ) - SELECT - C.id_currency, - C.active, - C.display_order - FROM Shop_Product_Currency_Region_Link PCRL - INNER JOIN Shop_Currency C ON PCRL.id_currency = C.id_currency - INNER JOIN tmp_Shop_Product t_P - ON PCRL.id_product <=> t_P.id_product - AND PCRL.id_permutation <=> t_P.id_permutation - INNER JOIN tmp_Delivery_Region t_DR ON PCRL.id_region_purchase = t_DR.id_region - WHERE - ( - a_get_all_currency - OR FIND_IN_SET(C.id_currency, a_ids_currency) > 0 - ) - AND ( - a_get_inactive_currency - OR ( - C.active - AND PCRL.active - ) - ) - ; - - -- select * from tmp_Currency; - - IF v_has_filter_currency THEN - SET v_ids_permutation_unavailable = ( - SELECT GROUP_CONCAT(t_P.id_permutation SEPARATOR ', ') - FROM ( - SELECT * - FROM tmp_Shop_Product t_P - WHERE - /*( - a_get_all_category - OR a_get_all_product - OR a_get_all_product_permutation - )*/ - FIND_IN_SET(t_P.id_category, a_ids_category) > 0 - OR FIND_IN_SET(t_P.id_product, a_ids_product) > 0 - OR FIND_IN_SET(t_P.id_permutation, a_ids_permutation) > 0 - ) t_P - INNER JOIN ( - SELECT * - FROM Shop_Product_Currency_Region_Link PCRL - WHERE - ( - a_get_all_currency - OR FIND_IN_SET(PCRL.id_currency, a_ids_currency) > 0 - ) - ) PCRL - ON t_P.id_permutation = PCRL.id_permutation - LEFT JOIN tmp_Currency t_C - ON PCRL.id_currency = t_C.id_currency - WHERE ISNULL(t_C.id_currency) - ); - IF NOT ISNULL(v_ids_permutation_unavailable) THEN - INSERT INTO tmp_Msg_Error ( - guid, - id_type, - msg - ) - VALUES ( - v_guid, - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'PRODUCT_AVAILABILITY' LIMIT 1), - CONCAT('Error: The following permutation IDs are not available in this currency: ', v_ids_permutation_unavailable) - ); - END IF; - /* - DELETE FROM tmp_Shop_Product t_P - WHERE t_P.id_permutation NOT IN ( - SELECT - id_permutation - FROM Shop_Product_Currency_Region_Link PCL - INNER JOIN tmp_Currency t_C - ON PCRL.id_currency = t_C.id_currency - ); - */ - END IF; - END IF; - - # Discounts - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid) THEN - INSERT INTO tmp_Discount ( - id_discount, - active, - display_order - ) - SELECT - D.id_discount, - D.active, - D.display_order - FROM Shop_Discount D - INNER JOIN tmp_Shop_Product t_P - ON D.id_product = t_P.id_product - AND D.id_permutation <=> t_P.id_permutation - WHERE - ( - a_get_all_discount - OR FIND_IN_SET(D.id_discount, a_ids_discount) > 0 - ) - AND ( - a_get_inactive_discount - OR D.active - ) - ; - END IF; - # select 'pre-permission results'; - # select * from tmp_Shop_Product; - - -- Permissions - IF EXISTS (SELECT * FROM tmp_Shop_Product_Category 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(id_product SEPARATOR ',') FROM tmp_Shop_Product); - SET v_ids_permutation_permission := (SELECT GROUP_CONCAT(id_permutation SEPARATOR ',') FROM tmp_Shop_Product WHERE NOT ISNULL(id_permutation)); - - -- SELECT v_guid, a_id_user, false, v_id_permission_product, v_id_access_level_view, v_ids_permutation_permission; - -- select * from Shop_User_Eval_Temp; - - CALL p_shop_user_eval(v_guid, a_id_user, false, v_id_permission_product, v_id_access_level_view, v_ids_permutation_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_permutation = UE_T.id_permutation - 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 t_P - WHERE - FIND_IN_SET(t_P.id_permutation, (SELECT GROUP_CONCAT(UET.id_permutation SEPARATOR ',') FROM Shop_User_Eval_Temp UET)) = 0 # id_product NOT LIKE CONCAT('%', (SELECT GROUP_CONCAT(id_product SEPARATOR '|') FROM Shop_User_Eval_Temp), '%'); - OR ( - ISNULL(t_P.can_view) - AND ( - NOT v_has_filter_category - OR FIND_IN_SET(t_P.id_category, a_ids_category) = 0 - ) - AND ( - NOT v_has_filter_product - OR FIND_IN_SET(t_P.id_product, a_ids_product) = 0 - ) - AND ( - NOT v_has_filter_permutation - OR FIND_IN_SET(t_P.id_permutation, a_ids_permutation) = 0 - ) - ) - ; - - # 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; - - - -- select * from tmp_Shop_Product; - - -- Returns - SET v_now := NOW(); - - # Categories - SELECT - DISTINCT t_C.id_category, - C.name, - C.description, - C.display_order - FROM tmp_Shop_Product_Category t_C - INNER JOIN Shop_Product_Category C - ON t_C.id_category = C.id_category - INNER JOIN tmp_Shop_Product t_P - ON t_C.id_category = t_P.id_category - ORDER BY C.display_order - ; - - # Products - SELECT - t_P.id_product, - t_P.id_permutation, - t_P.name, - t_P.description, - P.has_variations, - P.id_category, - t_P.latency_manufacture, - t_P.quantity_min, - t_P.quantity_max, - t_P.quantity_step, - t_P.quantity_stock, - t_P.id_stripe_product, - t_P.is_subscription, - RI.name AS name_interval_recurrence, - RI.name_plural AS name_plural_interval_recurrence, - t_P.count_interval_recurrence, - t_P.display_order_category, - t_P.display_order_product, - t_P.display_order_permutation, - IFNULL(t_P.can_view, 0), - IFNULL(t_P.can_edit, 0), - IFNULL(t_P.can_admin, 0) - 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 t_P.id_unit_measurement_interval_recurrence = RI.id_interval - ORDER BY t_P.rank_permutation - ; - - # Variations - SELECT - V.id_variation, - t_P.id_product, - t_P.id_permutation, - 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, - RANK() OVER (ORDER BY t_P.rank_permutation, PPVL.display_order) AS display_order - FROM Shop_Variation V - INNER JOIN Shop_Variation_Type VT - ON V.id_type = VT.id_type - INNER JOIN Shop_Product_Permutation_Variation_Link PPVL ON V.id_variation = PPVL.id_variation - INNER JOIN tmp_Shop_Product t_P ON PPVL.id_permutation <=> t_P.id_permutation - WHERE V.active - AND PPVL.active - ; - - /* - # Permutation variations output - 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 - ORDER BY t_P.display_order - ; - */ - -- select * from Shop_Product_Currency_Region_Link; - -- select * from shop_currency; - /* - select * from tmp_Currency; - select * from tmp_delivery_region; - select * from tmp_shop_product; - */ - - # Product Price - SELECT - PCRL.id_link AS id_price, - t_P.id_permutation, - t_P.id_product, - t_P.id_category, - t_C.id_currency, - C.code AS code_currency, - C.name AS name_currency, - C.symbol AS symbol_currency, - t_DR.id_region, - PCRL.price_local_VAT_incl, - PCRL.price_local_VAT_excl, - ROW_NUMBER() OVER(ORDER BY t_P.rank_permutation, C.display_order) AS display_order - FROM Shop_Product_Currency_Region_Link PCRL - INNER JOIN tmp_Shop_Product t_P - ON PCRL.id_product <=> t_P.id_product - AND PCRL.id_permutation <=> t_P.id_permutation - -- INNER JOIN Shop_Product P ON PCRL.id_product = P.id_product - INNER JOIN tmp_Currency t_C ON PCRL.id_currency = t_C.id_currency - INNER JOIN Shop_Currency C ON t_C.id_currency = C.id_currency - INNER JOIN tmp_Delivery_Region t_DR ON PCRL.id_region_purchase = t_DR.id_region - WHERE ( - a_get_inactive_product - AND a_get_inactive_permutation - AND a_get_inactive_currency - AND a_get_inactive_delivery_region - OR PCRL.active - ) - ORDER BY t_P.rank_permutation - ; - - /* - # Currency - SELECT - DISTINCT C.id_currency, - C.code, - C.name, - C.factor_from_GBP, - t_C.display_order - FROM Shop_Currency C - INNER JOIN tmp_Currency t_C ON C.id_currency = t_C.id_currency - GROUP BY C.id_currency, t_C.display_order - ORDER BY t_C.display_order - ; - */ - - # Images - SELECT - t_I.id_image, - t_I.id_product, - t_I.id_permutation, - t_P.id_category, - I.url, - I.active, - I.display_order - 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 t_I.id_product = t_P.id_product - AND t_I.id_permutation <=> t_P.id_permutation - ORDER BY t_P.rank_permutation, I.display_order - ; - - # Delivery options - SELECT - _DO.id_option, - PDOL.id_product, - PDOL.id_permutation, - t_P.id_category, - _DO.code, - _DO.name, - _DO.latency_delivery_min, - _DO.latency_delivery_max, - _DO.quantity_min, - _DO.quantity_max, - GROUP_CONCAT(DR.code SEPARATOR ',') AS codes_region, - GROUP_CONCAT(DR.name SEPARATOR ',') AS names_region, - PDOL.price_local, - PDOL.display_order - FROM Shop_Delivery_Option _DO - INNER JOIN Shop_Product_Delivery_Option_Link PDOL - ON _DO.id_option = PDOL.id_delivery_option - AND ( - a_get_inactive_delivery_region - OR PDOL.active - ) - INNER JOIN tmp_Shop_Product t_P - ON PDOL.id_product = t_P.id_product - AND PDOL.id_permutation <=> t_P.id_permutation - INNER JOIN tmp_Delivery_Region t_DR ON PDOL.id_region = t_DR.id_region - INNER JOIN Shop_Region DR ON t_DR.id_region = DR.id_region - WHERE ( - a_get_inactive_delivery_region - OR _DO.active - ) - GROUP BY t_P.id_category, t_P.id_product, PDOL.id_permutation, t_P.rank_permutation, DR.id_region, _DO.id_option, PDOL.id_link - ORDER BY t_P.rank_permutation, PDOL.display_order - ; - - # Discounts - SELECT - D.id_discount, - P.id_category, - D.id_product, - D.id_permutation, - DR.id_region, - C.id_currency, - D.code AS code_discount, - D.name AS name_discount, - D.multiplier, - D.subtractor, - D.apply_multiplier_first, - D.quantity_min, - D.quantity_max, - D.date_start, - D.date_end, - GROUP_CONCAT(DR.code) AS codes_region, - GROUP_CONCAT(DR.name) AS names_region, - GROUP_CONCAT(C.code) AS codes_currency, - GROUP_CONCAT(C.name) AS names_currency, - ROW_NUMBER() OVER(ORDER BY D.display_order) AS display_order - FROM tmp_Discount t_D - INNER JOIN Shop_Discount D ON t_D.id_discount = D.id_discount - INNER JOIN Shop_Product P ON D.id_product = P.id_product - INNER JOIN tmp_Shop_Product t_P - ON D.id_product = t_P.id_product - -- AND D.id_permutation <=> t_P.id_permutation - INNER JOIN Shop_Discount_Region_Currency_Link DRCL - ON D.id_discount = DRCL.id_discount - INNER JOIN tmp_Delivery_Region t_DR ON DRCL.id_region = t_DR.id_region - INNER JOIN Shop_Region DR ON t_DR.id_region = DR.id_region - INNER JOIN tmp_Currency t_C ON DRCL.id_currency = t_C.id_currency - INNER JOIN Shop_Currency C ON t_C.id_currency = C.id_currency - GROUP BY D.id_discount, DR.id_region, C.id_currency - ORDER BY D.display_order, DR.display_order, C.display_order - ; - - /* - # Delivery Regions - SELECT - t_DR.id_region, - t_P.id_category, - t_P.id_product, - t_P.id_permutation, - DR.code, - DR.name - FROM tmp_Delivery_Region t_DR - INNER JOIN Shop_Delivery_Region DR ON t_DR.id_region = DR.id_region - INNER JOIN Shop_Product_Region_Currency_Link PDRL - ON DR.id_region = PDRL.id_region - AND ( - a_get_inactive_delivery_region - OR PDRL.active - ) - INNER JOIN tmp_Shop_Product t_P - ON PDRL.id_product = t_P.id_product - AND PDRL.id_permutation <=> t_P.id_permutation - INNER JOIN tmp_Currency t_C ON PDRL.id_currency = t_C.id_currency - ORDER BY t_DR.display_order - ; - */ - - # Errors - SELECT - t_ME.display_order, - t_ME.guid, - t_ME.id_type, - t_ME.msg, - MET.code, - MET.name, - MET.description - FROM tmp_Msg_Error t_ME - INNER JOIN Shop_Msg_Error_Type MET - ON t_ME.id_type = MET.id_type - WHERE guid = v_guid - ; - - /* - # Return arguments for test - SELECT - a_ids_category, - a_get_inactive_category, - a_ids_product, - a_get_inactive_product, - a_get_first_product_only, - a_get_all_product, - a_ids_image, - a_get_inactive_image, - a_get_first_image_only, - a_get_all_image - ; - */ - - # select 'other outputs'; - # select * from tmp_Shop_Product; - - -- Clean up - DROP TABLE IF EXISTS tmp_Discount; - DROP TABLE IF EXISTS tmp_Currency; - DROP TABLE IF EXISTS tmp_Delivery_Region; - DROP TABLE IF EXISTS tmp_Shop_Image; - DROP TABLE IF EXISTS tmp_Shop_Variation; - DROP TABLE IF EXISTS tmp_Shop_Product; - DROP TABLE IF EXISTS tmp_Shop_Product_Category; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `p_shop_get_many_region` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_get_many_region`( - IN a_get_inactive_region BIT -) -BEGIN - IF a_get_inactive_region IS NULL THEN - SET a_get_inactive_region = 0; - END IF; - - SELECT - R.id_region, - R.code, - R.name, - R.active, - R.display_order - FROM Shop_Region R - WHERE a_get_inactive_region - OR R.active - ORDER BY R.display_order - ; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `p_shop_get_many_stripe_price_new` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_get_many_stripe_price_new`( - IN a_id_user INT -) -BEGIN - DECLARE v_has_filter_user 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(); - - - - IF a_id_user IS NULL THEN - SET a_id_user = ''; - ELSE - SET a_id_user = TRIM(a_id_user); - END IF; - - - - -- Temporary tables - DROP TABLE IF EXISTS tmp_Shop_Product_Currency_Link; - DROP TABLE IF EXISTS tmp_Shop_User; - - 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_Product_Currency_Link ( - id_link INT NOT NULL PRIMARY KEY, - CONSTRAINT FK_tmp_Shop_Product_Currency_Link_id_link - FOREIGN KEY (id_link) - REFERENCES Shop_Product_Currency_Link(id_link), - id_product INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Product_Currency_Link_id_product - FOREIGN KEY (id_product) - REFERENCES Shop_Product(id_product), - id_permutation INT NULL, - CONSTRAINT FK_tmp_Shop_Product_Currency_Link_id_permutation - FOREIGN KEY (id_permutation) - REFERENCES Shop_Product_Permutation(id_permutation), - id_currency INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Product_Currency_Link_id_currency - FOREIGN KEY (id_currency) - REFERENCES Shop_Currency(id_currency), - active BIT NOT NULL - ); - - CREATE TABLE IF NOT EXISTS tmp_Msg_Error ( # IF NOT EXISTS - 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_has_filter_user = CASE WHEN a_id_user = '' THEN 0 ELSE 1 END; - - - - -- User permissions - 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; - IF NOT v_has_filter_user THEN - INSERT INTO tmp_Msg_Error ( - guid, - code, - msg - ) - VALUES ( - v_guid, - v_code_error_data, - 'Valid user ID not provided.' - ) - ; - END IF; - - -- Get products - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - INSERT INTO tmp_Shop_Product_Currency_Link ( - id_link, - id_product, - id_permutation, - id_currency, - active - ) - SELECT id_link, - id_product, - id_permutation, - id_currency, - active - FROM Shop_Product_Currency_Link - WHERE ISNULL(id_stripe_price) - AND active - ; - END IF; - - -- Permissions - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - # SELECT * FROM tmp_Msg_Error LIMIT 1; - 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_ADMIN' = code), CHAR), # a_ids_permission - (SELECT id_access_level FROM Shop_Access_Level WHERE code = 'ADMIN' AND active), # a_ids_access_level - (SELECT GROUP_CONCAT(DISTINCT id_product SEPARATOR ',') FROM tmp_Shop_Product_Currency_Link), # (SELECT DISTINCT id_product FROM tmp_Shop_Product_Currency_Link) calc_PCL) # a_ids_product - (SELECT GROUP_CONCAT(DISTINCT id_permutation SEPARATOR ',') FROM tmp_Shop_Product_Currency_Link) # a_ids_permutation - ); - # SELECT * FROM tmp_Msg_Error LIMIT 1; - - IF EXISTS (SELECT can_admin FROM Shop_User_Eval_Temp WHERE guid = v_guid AND NOT can_admin LIMIT 1) THEN - INSERT INTO tmp_Msg_Error ( - guid, - code, - msg - ) - VALUES ( - v_guid, - v_code_error_permission, - 'User ID does not have permission to get all new stripe prices.' - ) - ; - END IF; - - DELETE FROM Shop_User_Eval_Temp - WHERE guid = v_guid - ; - END IF; - - - - -- Returns - IF EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - DELETE FROM tmp_Shop_Product_Currency_Link; - END IF; - /* - SELECT * - FROM tmp_Shop_User - ; - */ - - - SELECT t_PCL.id_product, - t_PCL.id_permutation, - P.price_GBP_full * C.factor_from_GBP AS unit_price, - C.code AS code_currency, - P.id_stripe_product, - P.is_subscription, - LOWER(RI.code) AS name_recurring_interval, - P.count_interval_recurrence - FROM tmp_Shop_Product_Currency_Link t_PCL - INNER JOIN Shop_Product P - ON t_PCL.id_product = P.id_product - AND P.active - INNER JOIN Shop_Interval_Recurrence RI - ON P.id_unit_measurement_interval_recurrence = RI.id_interval - AND RI.active - INNER JOIN Shop_Currency C - ON t_PCL.id_currency = C.id_currency - AND C.active - WHERE t_PCL.active - ; - - - # Errors - SELECT * - FROM tmp_Msg_Error - WHERE guid = v_guid - ; - - - /* - # Return arguments for test - SELECT - a_id_user - ; - */ - - -- Clean up - DROP TABLE IF EXISTS tmp_Shop_User; - DROP TABLE IF EXISTS tmp_Shop_Product_Currency_Link; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `p_shop_get_many_stripe_product_new` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_get_many_stripe_product_new`( - IN a_id_user INT -) -BEGIN - DECLARE v_has_filter_user 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(); - - - IF a_id_user IS NULL THEN - SET a_id_user = ''; - ELSE - SET a_id_user = TRIM(a_id_user); - END IF; - - - - -- Temporary tables - DROP TABLE IF EXISTS tmp_Shop_Product; - DROP TABLE IF EXISTS tmp_Shop_User; - - 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_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), - active BIT NOT NULL, - display_order_product INT NOT NULL, - display_order_permutation INT NOT NULL, - name VARCHAR(200) NOT NULL, - description VARCHAR(4000) NOT NULL - ); - - CREATE TABLE IF NOT EXISTS tmp_Msg_Error ( # IF NOT EXISTS - 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_has_filter_user = CASE WHEN a_id_user = '' THEN 0 ELSE 1 END; - - - - -- User - 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; - - 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; - - -- Get products - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - INSERT INTO tmp_Shop_Product ( - id_product, - id_permutation, - active, - display_order_product, - display_order_permutation, - name, - description - ) - SELECT id_product, - id_permutation, - active, - display_order_product, - display_order_permutation, - name, - description - FROM ( - SELECT id_product, - NULL AS id_permutation, - active, - display_order AS display_order_product, - NULL AS display_order_permutation, - name, - description, - id_stripe_product - FROM Shop_Product P - UNION - SELECT t_PPPV.id_product, - id_permutation, - t_PPPV.active, - display_order_product, - display_order_permutation, - CONCAT(P.name, ': ', names_variation) AS name, - CONCAT(P.description, ' With variations: ', type_name_pairs_variation) AS description, - t_PPPV.id_stripe_product - FROM ( - SELECT P.id_product, - PP.id_permutation, - PP.active, - P.display_order AS display_order_product, - PP.display_order AS display_order_permutation, - GROUP_CONCAT(V.name SEPARATOR ' ') AS names_variation, - GROUP_CONCAT(CONCAT(VT.name, ': ', V.name) SEPARATOR ', ') AS type_name_pairs_variation, - PP.id_stripe_product - FROM Shop_Product_Permutation PP - INNER JOIN Shop_Product P - ON PP.id_product = P.id_product - AND P.active - INNER JOIN Shop_Product_Permutation_Variation_Link PPVL - ON PP.id_permutation = PPVL.id_permutation - AND PPVL.active - INNER JOIN Shop_Variation V - ON PPVL.id_variation = V.id_variation - AND V.active - INNER JOIN Shop_Variation_Type VT - ON V.id_type = VT.id_type - AND VT.active - GROUP BY id_product, id_permutation -- , VT.id_type, V.id_variation - ) t_PPPV - INNER JOIN Shop_Product P - ON t_PPPV.id_product = P.id_product - ) t_PPP - WHERE ISNULL(id_stripe_product) - AND active - ; - 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_ADMIN' = code), CHAR), # a_ids_permission - (SELECT id_access_level FROM Shop_Access_Level WHERE code = 'ADMIN' AND active), # a_ids_access_level - (SELECT GROUP_CONCAT(id_product SEPARATOR ',') From tmp_Shop_Product), # a_ids_product - (SELECT GROUP_CONCAT(id_permutation SEPARATOR ',') From tmp_Shop_Product) # a_ids_permutation -- WHERE NOT ISNULL(id_permutation) - ); - - IF EXISTS (SELECT can_admin FROM Shop_User_Eval_Temp WHERE guid = v_guid AND NOT can_admin) THEN - INSERT INTO tmp_Msg_Error ( - guid, - code, - msg - ) - VALUES ( - v_guid, - v_code_error_permission, - 'User ID does not have permission to get all new stripe products.' - ) - ; - END IF; - - DELETE FROM Shop_User_Eval_Temp - WHERE guid = v_guid - ; - END IF; - - - - - -- Returns - /* - SELECT * - FROM tmp_Shop_User - ; - */ - - IF EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - DELETE FROM tmp_Shop_Product; - END IF; - - SELECT id_product, - id_permutation, - name, - description - FROM tmp_Shop_Product - ORDER BY display_order_product, display_order_permutation - ; - SELECT PP.id_permutation, - V.id_variation, - V.name AS name_variation, - VT.id_type AS id_type_variation, - VT.name as name_variation_type - FROM tmp_Shop_Product t_P - INNER JOIN Shop_Product_Permutation PP - ON t_P.id_permutation = PP.id_permutation - INNER JOIN Shop_Product_Permutation_Variation_Link PPVL - ON PP.id_permutation = PPVL.id_permutation - AND PPVL.active - INNER JOIN Shop_Variation V - ON PPVL.id_variation = V.id_variation - AND V.active - INNER JOIN Shop_Variation_Type VT - ON V.id_type = VT.id_type - AND VT.active - ; - - - # Errors - SELECT * - FROM tmp_Msg_Error - WHERE guid = v_guid - ; - - - /* - # Return arguments for test - SELECT - a_id_user - ; - */ - - -- Clean up - DROP TABLE IF EXISTS tmp_Shop_Product; - DROP TABLE IF EXISTS tmp_Shop_User; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `p_shop_get_many_user_order` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -CREATE DEFINER=`root`@`localhost` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `p_shop_user_eval` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_0900_ai_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_user_eval`( - IN a_guid BINARY(36), - IN a_id_user INT, - IN a_get_inactive_users BIT, - IN a_ids_permission VARCHAR(500), - IN a_ids_access_level VARCHAR(100), - IN a_ids_permutation VARCHAR(4000) -) -BEGIN - -- Variable declaration - DECLARE v_has_filter_permission BIT; - DECLARE v_has_filter_user BIT; - DECLARE v_has_filter_access_level BIT; - DECLARE v_has_filter_permutation BIT; - DECLARE v_id_permission_product INT; - DECLARE v_id_permission INT; - -- DECLARE v_ids_product VARCHAR(500); - DECLARE v_id_access_level_view INT; - # DECLARE v_id_access_level_product_required INT; - DECLARE v_priority_access_level_view INT; - DECLARE v_priority_access_level_edit INT; - DECLARE v_priority_access_level_admin INT; - DECLARE v_id_access_level INT; - DECLARE v_priority_access_level INT; - DECLARE v_now DATETIME; - DECLARE v_ids_row_delete VARCHAR(500); - DECLARE v_code_error_data VARCHAR(200); - DECLARE v_id_error_data INT; - DECLARE v_code_error_permission VARCHAR(200); - - SET v_id_error_data = 1; - SET v_code_error_data := (SELECT code FROM Shop_Msg_Error_Type WHERE id_type = v_id_error_data); - - SET v_code_error_permission := (SELECT code FROM Shop_Msg_Error_Type WHERE id_type = 2); - - -- Clear previous proc results - # DROP TABLE IF EXISTS tmp_User_Role_Link; - # DROP TEMPORARY TABLE IF EXISTS tmp_User_Role_Link; - DROP TABLE IF EXISTS tmp_Shop_Product_p_Shop_User_Eval; - # DROP TABLE IF EXISTS Shop_User_Eval_Temp; - - - -- Parse arguments + get default values - /* - IF a_guid IS NULL THEN - SET a_guid = UUID(); - END IF; - */ - IF a_id_user IS NULL THEN - SET a_id_user = ''; - ELSE - SET a_id_user = TRIM(a_id_user); - END IF; - IF a_get_inactive_users IS NULL THEN - SET a_get_inactive_users = 0; - END IF; - /* - IF a_get_user_permissions IS NULL THEN - SET a_get_user_permissions = 0; - END IF; - */ - IF a_ids_permission IS NULL THEN - SET a_ids_permission = ''; - ELSE - SET a_ids_permission = TRIM(a_ids_permission); - END IF; - IF a_ids_access_level IS NULL THEN - SET a_ids_access_level = ''; - ELSE - SET a_ids_access_level = TRIM(a_ids_access_level); - END IF; - IF a_ids_permutation IS NULL THEN - SET a_ids_permutation = ''; - ELSE - SET a_ids_permutation = TRIM(a_ids_permutation); - END IF; - - -- Permanent Table - CREATE TABLE IF NOT EXISTS Shop_User_Eval_Temp ( - id_row INT PRIMARY KEY AUTO_INCREMENT NOT NULL, - guid BINARY(36) NOT NULL, - id_user INT, - id_permission_required INT NOT NULL, - CONSTRAINT FK_Shop_User_Eval_Temp_id_permission_required - FOREIGN KEY (id_permission_required) - REFERENCES Shop_Permission (id_permission), - /* - id_access_level_required INT NOT NULL, - CONSTRAINT FK_Shop_User_Eval_Temp_id_access_level_required - FOREIGN KEY (id_access_level_required) - REFERENCES Shop_Access_Level (id_access_level), - */ - priority_access_level_required INT NOT NULL, - /* - CONSTRAINT FK_Shop_User_Eval_Temp_priority_access_level_required - FOREIGN KEY (priority_access_level_required) - REFERENCES Shop_Access_Level (priority), - */ - id_product INT NULL, - CONSTRAINT FK_Shop_User_Eval_Temp_id_product - FOREIGN KEY (id_product) - REFERENCES partsltd_prod.Shop_Product (id_product), - id_permutation INT NULL, - CONSTRAINT FK_Shop_User_Eval_Temp_id_permutation - FOREIGN KEY (id_permutation) - REFERENCES partsltd_prod.Shop_Product_Permutation (id_permutation), - is_super_user BIT NULL, - priority_access_level_user INT NULL, - /* - CONSTRAINT FK_Shop_User_Eval_Temp_priority_access_level_minimum - FOREIGN KEY (priority_access_level_minimum) - REFERENCES Shop_Access_Level (priority) - */ - can_view BIT, - can_edit BIT, - can_admin BIT -- DEFAULT 0 - ); - - CREATE TABLE IF NOT EXISTS tmp_Shop_Product_p_Shop_User_Eval ( - id_row INT PRIMARY KEY AUTO_INCREMENT NOT NULL, - id_product INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Product_p_Shop_User_Eval_id_product FOREIGN KEY (id_product) - REFERENCES partsltd_prod.Shop_Product (id_product), - id_permutation INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Product_p_Shop_User_Eval_id_permutation FOREIGN KEY (id_permutation) - REFERENCES partsltd_prod.Shop_Product_Permutation (id_permutation), - id_access_level_required INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Product_p_Shop_User_Eval_id_access_level_required FOREIGN KEY (id_access_level_required) - REFERENCES Shop_Access_Level (id_access_level), - guid BINARY(36) NOT NULL, - rank_permutation 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, - 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 - ); - - # select * from Shop_Msg_Error_Type; - - -- Parse filters - IF a_guid IS NULL OR EXISTS (SELECT * FROM Shop_User_Eval_Temp WHERE a_guid = guid) THEN - INSERT INTO tmp_Msg_Error ( - guid, - code, - msg - ) - VALUES ( - a_guid, - v_code_error_data, - 'Invalid guid argument.' - ) - ; - END IF; - SET v_has_filter_user = CASE WHEN a_id_user = '' THEN 0 ELSE 1 END; - SET a_ids_permission = REPLACE(a_ids_permission, '|', ','); - SET v_has_filter_permission = CASE WHEN a_ids_permission = '' THEN 0 ELSE 1 END; - SET a_ids_access_level = REPLACE(a_ids_access_level, '|', ','); - SET v_has_filter_access_level = CASE WHEN a_ids_access_level = '' THEN 0 ELSE 1 END; - SET a_ids_permutation = REPLACE(a_ids_permutation, '|', ','); - SET v_has_filter_permutation = CASE WHEN a_ids_permutation = '' THEN 0 ELSE 1 END; - SET v_id_access_level_view = (SELECT id_access_level FROM Shop_Access_Level WHERE code = 'VIEW' LIMIT 1); - SET v_priority_access_level_view = (SELECT priority FROM Shop_Access_Level WHERE id_access_level = v_id_access_level_view); - SET v_priority_access_level_edit = (SELECT priority FROM Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); - SET v_priority_access_level_admin = (SELECT priority FROM Shop_Access_Level WHERE code = 'ADMIN' LIMIT 1); - - /* - select v_priority_access_level_view, - v_priority_access_level_edit, - v_priority_access_level_admin - ; - */ - - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE GUID = a_guid) THEN - IF v_has_filter_access_level THEN - CALL p_split(a_ids_access_level, ','); - SET v_id_access_level := ( - SELECT AL.id_access_level - FROM Split_Temp ST - INNER JOIN Shop_Access_Level AL - ON CONVERT(ST.substring, DECIMAL(10,0)) = AL.id_access_level - AND AL.active - ORDER BY AL.priority ASC - LIMIT 1 - ); - DROP TABLE Split_Temp; - IF 0 = v_id_access_level OR v_id_access_level <=> NULL THEN - # SET v_has_filter_access_level = 0; - INSERT INTO tmp_Msg_Error ( - guid, - code, - msg - ) - VALUES ( - a_guid, - v_code_error_data, - 'Access level ID not found.' - ) - ; - END IF; - /* - END IF; - IF NOT v_has_filter_access_level THEN - */ - ELSE - SET v_id_access_level = v_id_access_level_view; - END IF; - END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE GUID = a_guid) THEN - IF v_has_filter_permutation THEN - INSERT INTO tmp_Shop_Product_p_Shop_User_Eval ( - id_product, - id_permutation, - id_access_level_required, - guid, - rank_permutation - ) - SELECT - PP.id_product, - PP.id_permutation, - PP.id_access_level_required, - a_guid, - RANK() OVER (ORDER BY PP.id_product, PP.id_permutation, AL.priority) AS rank_permutation - FROM Shop_Product_Permutation PP - INNER JOIN Shop_Access_Level AL - ON PP.id_access_level_required = AL.id_access_level - AND AL.active - WHERE FIND_IN_SET(PP.id_permutation, a_ids_permutation) > 0 - # AND P.active # not worried as we want users to be able to see their order history - ; - /* - DELETE FROM tmp_Shop_Product_p_Shop_User_Eval - WHERE rank_permutation > 1 - ; - */ - SET v_has_filter_permutation = EXISTS (SELECT * FROM tmp_Shop_Product_p_Shop_User_Eval WHERE a_guid = guid); - END IF; - - IF v_has_filter_permission THEN - # Invalid permission IDs - IF EXISTS (SELECT id_permission FROM Shop_Permission WHERE FIND_IN_SET(id_permission, a_ids_permission) > 0 AND NOT active) THEN - INSERT INTO tmp_Msg_Error ( - guid, - code, - msg - ) - VALUES ( - a_guid, - v_code_error_data, - CONCAT('The following permissions are no longer active: ', (SELECT GROUP_CONCAT(name SEPARATOR ', ') FROM Shop_Permission WHERE FIND_IN_SET(id_permission, a_ids_permission) > 0 AND NOT active)) - ) - ; - END IF; - END IF; - END IF; - - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE GUID = a_guid) THEN - IF v_has_filter_user THEN - SET a_id_user := (SELECT id_user FROM Shop_User WHERE id_user LIKE a_id_user AND active); - SET v_has_filter_user = NOT (a_id_user <=> NULL); - IF NOT v_has_filter_user THEN - INSERT INTO tmp_Msg_Error ( - guid, - code, - msg - ) - VALUES ( - a_guid, - v_code_error_data, - 'User ID not found.' - ) - ; - END IF; - END IF; - END IF; - - -- Get users - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE GUID = a_guid) THEN - INSERT INTO Shop_User_Eval_Temp ( - guid, - id_user, - id_permission_required, - priority_access_level_required - /* - priority_access_level_user, - is_super_user, - can_view, - can_edit, - can_admin - */ - ) - SELECT a_guid, - a_id_user, - P.id_permission, - AL.priority - FROM partsltd_prod.Shop_Permission P - INNER JOIN Shop_Access_Level AL - ON P.id_access_level_required = AL.id_access_level - AND AL.active - WHERE FIND_IN_SET(P.id_permission, a_ids_permission) > 0 - ; - - IF v_has_filter_permutation THEN - SET v_ids_row_delete := (SELECT GROUP_CONCAT(id_row SEPARATOR ',') FROM Shop_User_Eval_Temp WHERE a_guid = guid); - - INSERT INTO Shop_User_Eval_Temp ( - guid, - id_user, - id_permission_required, - id_product, - id_permutation, - priority_access_level_required - ) - SELECT UE_T.guid, - UE_T.id_user, - UE_T.id_permission_required, - t_P.id_product, - t_P.id_permutation, - CASE WHEN UE_T.priority_access_level_required < AL.priority THEN UE_T.priority_access_level_required ELSE AL.priority END -- UE_T.priority_access_level_required - FROM tmp_Shop_Product_p_Shop_User_Eval t_P - INNER JOIN Shop_Access_Level AL - ON t_P.id_access_leveL_required = AL.id_access_level - AND AL.active - CROSS JOIN Shop_User_Eval_Temp UE_T - ON a_id_user = UE_T.id_user - WHERE a_guid = t_P.guid - ; - - DELETE FROM Shop_User_Eval_Temp - WHERE FIND_IN_SET(id_row, v_ids_row_delete) > 0 - ; - END IF; - - /* - INSERT INTO Shop_User_Eval_Temp ( - guid, - id_user, - id_permission_required, - # id_access_level_required, - priority_access_level_required, - priority_access_level_user, - is_super_user - /* - can_view, - can_edit, - can_admin - * - ) - SELECT a_guid, - U.id_user, - P.id_permission, - AL.priority, - /* - v_id_permission, - v_id_access_level, - * - MIN(AL.priority), - U.is_super_user - /* - CASE WHEN U.is_super_user THEN 1 ELSE CASE WHEN priority_access_level_minimum <= v_priority_access_level_view THEN 1 ELSE 0 END END, - CASE WHEN U.is_super_user THEN 1 ELSE CASE WHEN priority_access_level_minimum <= v_priority_access_level_edit THEN 1 ELSE 0 END END, - CASE WHEN U.is_super_user THEN 1 ELSE CASE WHEN priority_access_level_minimum <= v_priority_access_level_admin THEN 1 ELSE 0 END END - * - FROM partsltd_prod.Shop_User U - INNER JOIN Shop_User_Role_Link URL - ON U.id_user = URL.id_user - AND URL.active - INNER JOIN Shop_Role_Permission_Link RPL - ON URL.id_role = RPL.id_role - AND RPL.active - INNER JOIN Shop_Permission P - ON RPL.id_permission = P.id_permission - AND P.active - INNER JOIN Shop_Access_Level AL - ON RPL.id_access_level = AL.id_access_level - AND AL.active - WHERE U.id_user = a_id_user - AND (a_get_inactive_users OR U.active) - AND FIND_IN_SET(P.id_permission, a_ids_permission) > 0 - # AND v_id_permission = P.id_permission - # AND v_id_access_level = AL.id_access_leveld - GROUP BY U.id_user, P.id_permission # , is_super_user - ; - */ - - IF v_has_filter_user THEN - UPDATE Shop_User_Eval_Temp UE_T - INNER JOIN Shop_User U - ON UE_T.id_user = U.id_user - AND U.active - INNER JOIN Shop_User_Role_Link URL - ON U.id_user = URL.id_user - AND URL.active - INNER JOIN Shop_Role_Permission_Link RPL - ON URL.id_role = RPL.id_role - AND RPL.active - INNER JOIN Shop_Access_Level AL - ON RPL.id_access_level = AL.id_access_level - AND AL.active - SET UE_T.priority_access_level_user = AL.priority, - UE_T.is_super_user = U.is_super_user, - UE_T.can_view = CASE WHEN U.is_super_user THEN 1 ELSE CASE WHEN ISNULL(AL.priority) THEN 1 ELSE CASE WHEN AL.priority <= v_priority_access_level_view AND AL.priority <= UE_T.priority_access_level_required THEN 1 ELSE 0 END END END, - UE_T.can_edit = CASE WHEN U.is_super_user THEN 1 ELSE CASE WHEN NOT ISNULL(AL.priority) AND AL.priority <= v_priority_access_level_edit AND AL.priority <= UE_T.priority_access_level_required THEN 1 ELSE 0 END END, - UE_T.can_admin = CASE WHEN U.is_super_user THEN 1 ELSE CASE WHEN NOT ISNULL(AL.priority) AND AL.priority <= v_priority_access_level_admin AND AL.priority <= UE_T.priority_access_level_required THEN 1 ELSE 0 END END - WHERE UE_T.guid = a_guid - AND UE_T.id_user = a_id_user - AND RPL.id_permission = UE_T.id_permission_required - # GROUP BY UE_T.id_user - ; - ELSE - UPDATE Shop_User_Eval_Temp UE_T - SET UE_T.priority_access_level_user = v_priority_access_level_view, - UE_T.is_super_user = 0, - UE_T.can_view = (v_priority_access_level_view <= UE_T.priority_access_level_required), - UE_T.can_edit = 0, - UE_T.can_admin = 0 - WHERE UE_T.guid = a_guid - AND UE_T.id_user = a_id_user - # GROUP BY UE_T.id_user - ; - END IF; - END IF; - - -- Clean up - DROP TABLE IF EXISTS tmp_Shop_Product_p_Shop_User_Eval; - # DROP TEMPORARY TABLE IF EXISTS tmp_User_Role_Link; - # DROP TABLE IF EXISTS tmp_Msg_Error; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; - -/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; -/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; -/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; -/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; - --- Dump completed on 2024-04-28 19:04:05 diff --git a/static/MySQL/deprecated/dump2.sql b/static/MySQL/deprecated/dump2.sql deleted file mode 100644 index 205fee0d..00000000 --- a/static/MySQL/deprecated/dump2.sql +++ /dev/null @@ -1,8235 +0,0 @@ -CREATE DATABASE IF NOT EXISTS `partsltd_prod` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */ /*!80016 DEFAULT ENCRYPTION='N' */; -USE `partsltd_prod`; --- MySQL dump 10.13 Distrib 8.0.36, for Win64 (x86_64) --- --- Host: localhost Database: partsltd_prod --- ------------------------------------------------------ --- Server version 8.0.35 - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!50503 SET NAMES utf8 */; -/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; -/*!40103 SET TIME_ZONE='+00:00' */; -/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; -/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; -/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; - --- --- Table structure for table `file_type` --- - -DROP TABLE IF EXISTS `file_type`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `file_type` ( - `id_type` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) DEFAULT NULL, - `name` varchar(100) DEFAULT NULL, - `extension` varchar(50) DEFAULT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `updated_last_on` datetime DEFAULT NULL, - `updated_last_by` varchar(100) DEFAULT NULL, - PRIMARY KEY (`id_type`) -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `file_type` --- - -LOCK TABLES `file_type` WRITE; -/*!40000 ALTER TABLE `file_type` DISABLE KEYS */; -INSERT INTO `file_type` VALUES (1,'JPEG','Joint Photographic Export Group','jpg','2024-04-28 19:03:07','root@localhost',NULL,NULL),(2,'PNG','Portable Network Graphic','png','2024-04-28 19:03:07','root@localhost',NULL,NULL),(3,'GIF','GIF','gif','2024-04-28 19:03:07','root@localhost',NULL,NULL),(4,'MPEG-4','Multimedia Photographic Export Group 4','mp4','2024-04-28 19:03:07','root@localhost',NULL,NULL); -/*!40000 ALTER TABLE `file_type` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_File_Type` BEFORE INSERT ON `file_type` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_File_Type` BEFORE UPDATE ON `file_type` FOR EACH ROW BEGIN - INSERT INTO File_Type_Audit ( - id_type, - name_field, - value_prev, - value_new - ) - # Changed code - SELECT NEW.id_type, 'code', OLD.code, NEW.code - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_type, 'name', OLD.name, NEW.name - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed extension - SELECT NEW.id_type, 'extension', CONVERT(OLD.extension, CHAR), CONVERT(NEW.extension, CHAR) - WHERE NOT OLD.extension <=> NEW.extension - ; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `file_type_audit` --- - -DROP TABLE IF EXISTS `file_type_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `file_type_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_type` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `updated_last_on` datetime DEFAULT NULL, - `updated_last_by` varchar(100) DEFAULT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_File_Type_Audit_id_type` (`id_type`), - CONSTRAINT `FK_File_Type_Audit_id_type` FOREIGN KEY (`id_type`) REFERENCES `file_type` (`id_type`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `file_type_audit` --- - -LOCK TABLES `file_type_audit` WRITE; -/*!40000 ALTER TABLE `file_type_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `file_type_audit` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_File_Type_Audit` BEFORE INSERT ON `file_type_audit` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_File_Type_Audit` BEFORE UPDATE ON `file_type_audit` FOR EACH ROW BEGIN - SET NEW.updated_last_on = NOW(); - SET NEW.updated_last_by = CURRENT_USER(); -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_access_level` --- - -DROP TABLE IF EXISTS `shop_access_level`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_access_level` ( - `id_access_level` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) DEFAULT NULL, - `name` varchar(255) DEFAULT NULL, - `priority` int NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_access_level`), - KEY `FK_Shop_Access_Level_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Access_Level_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_access_level` --- - -LOCK TABLES `shop_access_level` WRITE; -/*!40000 ALTER TABLE `shop_access_level` DISABLE KEYS */; -INSERT INTO `shop_access_level` VALUES (1,'VIEW','View',3,_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,'EDIT','Edit',2,_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL),(3,'ADMIN','Admin',1,_binary '',3,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_access_level` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Access_Level` BEFORE UPDATE ON `shop_access_level` 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_Access_Level_Audit ( - id_access_level, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_access_level, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT (OLD.code <=> NEW.code) - UNION - # Changed name - SELECT NEW.id_access_level, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT (OLD.name <=> NEW.name) - UNION - # Changed priority - SELECT NEW.id_access_level, 'priority', CONVERT(OLD.priority, CHAR), CONVERT(NEW.priority, CHAR), NEW.id_change_set - WHERE NOT (OLD.priority <=> NEW.priority) - UNION - # Changed active - SELECT NEW.id_access_level, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set - WHERE NOT (OLD.active <=> NEW.active) - UNION - # Changed display_order - SELECT NEW.id_access_level, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set - WHERE NOT OLD.display_order <=> NEW.display_order - ; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_access_level_audit` --- - -DROP TABLE IF EXISTS `shop_access_level_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_access_level_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_access_level` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Access_Level_Audit_id_access_level` (`id_access_level`), - KEY `FK_Shop_Access_Level_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Access_Level_Audit_id_access_level` FOREIGN KEY (`id_access_level`) REFERENCES `shop_access_level` (`id_access_level`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Access_Level_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_access_level_audit` --- - -LOCK TABLES `shop_access_level_audit` WRITE; -/*!40000 ALTER TABLE `shop_access_level_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_access_level_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_address` --- - -DROP TABLE IF EXISTS `shop_address`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_address` ( - `id_address` int NOT NULL AUTO_INCREMENT, - `id_user` varchar(200) NOT NULL, - `id_region` int 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(1) NOT NULL DEFAULT b'1', - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_address`), - KEY `FK_Shop_Address_id_user` (`id_user`), - KEY `FK_Shop_Address_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Address_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Address_id_user` FOREIGN KEY (`id_user`) REFERENCES `shop_user` (`id_user`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_address` --- - -LOCK TABLES `shop_address` WRITE; -/*!40000 ALTER TABLE `shop_address` DISABLE KEYS */; -INSERT INTO `shop_address` VALUES (1,'auth0|6582b95c895d09a70ba10fef',1,'Teddy','07375 571430','NN6 6EB','The Laurels','Cold Ashby Road','Cold Ashby','Northamptonshire',_binary '','2024-04-28 19:03:07','root@localhost',NULL),(2,'parts_guest',1,'Guest','07375 571430','NN6 6EB','The Laurels','Cold Ashby Road','Cold Ashby','Northamptonshire',_binary '','2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_address` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Address` BEFORE UPDATE ON `shop_address` 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_Address_Audit ( - id_address, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed region - SELECT NEW.id_address, 'id_region', OLD.id_region, NEW.id_region, NEW.id_change_set - WHERE NOT OLD.id_region <=> NEW.id_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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_address_audit` --- - -DROP TABLE IF EXISTS `shop_address_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_address_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_address` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Address_Audit_id_address` (`id_address`), - KEY `FK_Shop_Address_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Address_Audit_id_address` FOREIGN KEY (`id_address`) REFERENCES `shop_address` (`id_address`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Address_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_address_audit` --- - -LOCK TABLES `shop_address_audit` WRITE; -/*!40000 ALTER TABLE `shop_address_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_address_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_category` --- - -DROP TABLE IF EXISTS `shop_category`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_category` ( - `id_category` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) DEFAULT NULL, - `name` varchar(255) DEFAULT NULL, - `description` varchar(4000) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_category`), - KEY `FK_Shop_Product_Category_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Category_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_category` --- - -LOCK TABLES `shop_category` WRITE; -/*!40000 ALTER TABLE `shop_category` DISABLE KEYS */; -INSERT INTO `shop_category` VALUES (1,'ASS','Assistive Devices','Braille product line and other assistive devices',_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,'MISC','Miscellaneous','Not category allocated products',_binary '',99,'2024-04-28 19:03:07','root@localhost',NULL),(3,'TECH','Technology','Technological devices',_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_category` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Category` BEFORE INSERT ON `shop_category` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product_Category` BEFORE UPDATE ON `shop_category` 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_Category_Audit ( - id_category, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_category, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_category, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed description - SELECT NEW.id_category, 'description', OLD.description, NEW.description, NEW.id_change_set - WHERE NOT OLD.description <=> NEW.description - UNION - # Changed active - SELECT NEW.id_category, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set - WHERE NOT (OLD.active <=> NEW.active) - UNION - # Changed display_order - SELECT NEW.id_category, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set - WHERE NOT OLD.display_order <=> NEW.display_order - ; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_category_audit` --- - -DROP TABLE IF EXISTS `shop_category_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_category_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_category` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Product_Category_Audit_id_category` (`id_category`), - KEY `FK_Shop_Product_Category_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Category_Audit_id_category` FOREIGN KEY (`id_category`) REFERENCES `shop_category` (`id_category`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Category_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_category_audit` --- - -LOCK TABLES `shop_category_audit` WRITE; -/*!40000 ALTER TABLE `shop_category_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_category_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_currency` --- - -DROP TABLE IF EXISTS `shop_currency`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_currency` ( - `id_currency` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) NOT NULL, - `name` varchar(255) NOT NULL, - `symbol` varchar(1) NOT NULL, - `factor_from_GBP` float NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_currency`), - KEY `FK_Shop_Currency_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Currency_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_currency` --- - -LOCK TABLES `shop_currency` WRITE; -/*!40000 ALTER TABLE `shop_currency` DISABLE KEYS */; -INSERT INTO `shop_currency` VALUES (1,'GBP','Great British Pound','£',1,_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,'EUR','Euro','€',1.17,_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_currency` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Currency` BEFORE INSERT ON `shop_currency` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Currency` BEFORE UPDATE ON `shop_currency` 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_Currency_Audit ( - id_currency, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_currency, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_currency, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed symbol - SELECT NEW.id_currency, 'symbol', OLD.symbol, NEW.symbol, NEW.id_change_set - WHERE NOT OLD.symbol <=> NEW.symbol - UNION - # Changed ratio_2_GBP - SELECT NEW.id_currency, 'factor_from_GBP', OLD.factor_from_GBP, NEW.factor_from_GBP, NEW.id_change_set - WHERE NOT OLD.factor_from_GBP <=> NEW.factor_from_GBP - UNION - # Changed active - SELECT NEW.id_currency, '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_currency, 'display_order', CONVERT(display_order, CHAR), CONVERT(display_order, CHAR), NEW.id_change_set - WHERE NOT (OLD.display_order <=> NEW.display_order) - ; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_currency_audit` --- - -DROP TABLE IF EXISTS `shop_currency_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_currency_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_currency` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Currency_Audit_id_currency` (`id_currency`), - KEY `FK_Shop_Currency_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Currency_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Currency_Audit_id_currency` FOREIGN KEY (`id_currency`) REFERENCES `shop_currency` (`id_currency`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_currency_audit` --- - -LOCK TABLES `shop_currency_audit` WRITE; -/*!40000 ALTER TABLE `shop_currency_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_currency_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_delivery_option` --- - -DROP TABLE IF EXISTS `shop_delivery_option`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_delivery_option` ( - `id_option` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) NOT NULL, - `name` varchar(100) NOT NULL, - `description` varchar(4000) DEFAULT NULL, - `latency_delivery_min` int NOT NULL, - `latency_delivery_max` int NOT NULL, - `quantity_min` int NOT NULL, - `quantity_max` int NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_option`), - KEY `FK_Shop_Delivery_Option_Type_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Delivery_Option_Type_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_delivery_option` --- - -LOCK TABLES `shop_delivery_option` WRITE; -/*!40000 ALTER TABLE `shop_delivery_option` DISABLE KEYS */; -INSERT INTO `shop_delivery_option` VALUES (1,'COLLECT','Collection',NULL,0,0,0,1,_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,'SIGNED_1','First Class Signed-For',NULL,2,4,0,1,_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_delivery_option` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Delivery_Option` BEFORE INSERT ON `shop_delivery_option` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Delivery_Option` BEFORE UPDATE ON `shop_delivery_option` 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_Delivery_Option_Audit ( - id_option, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_option, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_option, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed latency_delivery_min - SELECT NEW.id_option, 'latency_delivery_min', CONVERT(OLD.latency_delivery_min, CHAR), CONVERT(NEW.latency_delivery_min, CHAR), NEW.id_change_set - WHERE NOT OLD.latency_delivery_min <=> NEW.latency_delivery_min - UNION - # Changed latency_delivery_max - SELECT NEW.id_option, 'latency_delivery_max', CONVERT(OLD.latency_delivery_max, CHAR), CONVERT(NEW.latency_delivery_max, CHAR), NEW.id_change_set - WHERE NOT OLD.latency_delivery_max <=> NEW.latency_delivery_max - UNION - # Changed quantity_min - SELECT NEW.id_option, 'quantity_min', CONVERT(OLD.quantity_min, CHAR), CONVERT(NEW.quantity_min, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_min <=> NEW.quantity_min - UNION - # Changed quantity_max - SELECT NEW.id_option, 'quantity_max', CONVERT(OLD.quantity_max, CHAR), CONVERT(NEW.quantity_max, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_max <=> NEW.quantity_max - UNION - # Changed active - SELECT NEW.id_option, 'active', CONVERT(OLD.active, CHAR), CONVERT(NEW.active, CHAR), NEW.id_change_set - WHERE NOT OLD.active <=> NEW.active - UNION - # Changed display_order - SELECT NEW.id_option, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_delivery_option_audit` --- - -DROP TABLE IF EXISTS `shop_delivery_option_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_delivery_option_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_option` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Delivery_Option_Audit_id_option` (`id_option`), - KEY `FK_Shop_Delivery_Option_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Delivery_Option_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Delivery_Option_Audit_id_option` FOREIGN KEY (`id_option`) REFERENCES `shop_delivery_option` (`id_option`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_delivery_option_audit` --- - -LOCK TABLES `shop_delivery_option_audit` WRITE; -/*!40000 ALTER TABLE `shop_delivery_option_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_delivery_option_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_discount` --- - -DROP TABLE IF EXISTS `shop_discount`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_discount` ( - `id_discount` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) NOT NULL, - `name` varchar(200) NOT NULL, - `id_product` int NOT NULL, - `id_permutation` int DEFAULT NULL, - `multiplier` float NOT NULL DEFAULT '1', - `subtractor` float NOT NULL DEFAULT '0', - `apply_multiplier_first` bit(1) DEFAULT b'1', - `quantity_min` float NOT NULL DEFAULT '0', - `quantity_max` float NOT NULL, - `date_start` datetime NOT NULL, - `date_end` datetime NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_discount`), - KEY `FK_Shop_Discount_id_product` (`id_product`), - KEY `FK_Shop_Discount_id_permutation` (`id_permutation`), - KEY `FK_Shop_Discount_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Discount_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Discount_id_permutation` FOREIGN KEY (`id_permutation`) REFERENCES `shop_product_permutation` (`id_permutation`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Discount_id_product` FOREIGN KEY (`id_product`) REFERENCES `shop_product` (`id_product`), - CONSTRAINT `shop_discount_chk_1` CHECK ((`multiplier` > 0)) -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_discount` --- - -LOCK TABLES `shop_discount` WRITE; -/*!40000 ALTER TABLE `shop_discount` DISABLE KEYS */; -INSERT INTO `shop_discount` VALUES (1,'CRIMBO50','Christmas 50% off sale!',1,1,0.5,0,_binary '',3,9,'2024-04-28 19:03:07','2023-12-31 23:59:59',_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,'CRIMBO50','Christmas 50% off sale!',1,2,0.5,0,_binary '',3,9,'2024-04-28 19:03:07','2023-12-31 23:59:59',_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_discount` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Discount` BEFORE INSERT ON `shop_discount` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Discount` BEFORE UPDATE ON `shop_discount` 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_Discount_Audit ( - id_discount, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_discount, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_discount, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed multiplier - SELECT NEW.id_discount, 'multiplier', OLD.multiplier, NEW.multiplier, NEW.id_change_set - WHERE NOT OLD.multiplier <=> NEW.multiplier - UNION - # Changed subtractor - SELECT NEW.id_discount, 'subtractor', OLD.subtractor, NEW.subtractor, NEW.id_change_set - WHERE NOT OLD.subtractor <=> NEW.subtractor - UNION - # Changed apply_multiplier_first - SELECT NEW.id_discount, 'apply_multiplier_first', CONVERT(CONVERT(OLD.apply_multiplier_first, SIGNED), CHAR), CONVERT(CONVERT(NEW.apply_multiplier_first, SIGNED), CHAR), NEW.id_change_set - WHERE NOT OLD.apply_multiplier_first <=> NEW.apply_multiplier_first - UNION - # Changed quantity_min - SELECT NEW.id_discount, 'quantity_min', OLD.quantity_min, NEW.quantity_min, NEW.id_change_set - WHERE NOT OLD.quantity_min <=> NEW.quantity_min - UNION - # Changed quantity_max - SELECT NEW.id_discount, 'quantity_max', OLD.quantity_max, NEW.quantity_max, NEW.id_change_set - WHERE NOT OLD.quantity_max <=> NEW.quantity_max - UNION - # Changed date_start - SELECT NEW.id_discount, 'date_start', OLD.date_start, NEW.date_start, NEW.id_change_set - WHERE NOT OLD.date_start <=> NEW.date_start - UNION - # Changed date_end - SELECT NEW.id_discount, 'date_end', OLD.date_end, NEW.date_end, NEW.id_change_set - WHERE NOT OLD.date_end <=> NEW.date_end - UNION - # Changed display_order - SELECT NEW.id_discount, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set - WHERE NOT OLD.display_order <=> NEW.display_order - UNION - # Changed active - SELECT NEW.id_discount, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_discount_audit` --- - -DROP TABLE IF EXISTS `shop_discount_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_discount_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_discount` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Discount_Audit_id_discount` (`id_discount`), - KEY `FK_Shop_Discount_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Discount_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Discount_Audit_id_discount` FOREIGN KEY (`id_discount`) REFERENCES `shop_discount` (`id_discount`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_discount_audit` --- - -LOCK TABLES `shop_discount_audit` WRITE; -/*!40000 ALTER TABLE `shop_discount_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_discount_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_discount_region_currency_link` --- - -DROP TABLE IF EXISTS `shop_discount_region_currency_link`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_discount_region_currency_link` ( - `id_link` int NOT NULL AUTO_INCREMENT, - `id_discount` int NOT NULL, - `id_region` int NOT NULL, - `id_currency` int NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_link`), - KEY `FK_Shop_Discount_Region_Currency_Link_id_discount` (`id_discount`), - KEY `FK_Shop_Discount_Region_Currency_Link_id_region` (`id_region`), - KEY `FK_Shop_Discount_Region_Currency_Link_id_currency` (`id_currency`), - KEY `FK_Shop_Discount_Region_Currency_Link_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Discount_Region_Currency_Link_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Discount_Region_Currency_Link_id_currency` FOREIGN KEY (`id_currency`) REFERENCES `shop_currency` (`id_currency`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Discount_Region_Currency_Link_id_discount` FOREIGN KEY (`id_discount`) REFERENCES `shop_discount` (`id_discount`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Discount_Region_Currency_Link_id_region` FOREIGN KEY (`id_region`) REFERENCES `shop_region` (`id_region`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_discount_region_currency_link` --- - -LOCK TABLES `shop_discount_region_currency_link` WRITE; -/*!40000 ALTER TABLE `shop_discount_region_currency_link` DISABLE KEYS */; -INSERT INTO `shop_discount_region_currency_link` VALUES (1,1,1,1,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(2,2,1,1,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(3,1,1,2,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(4,2,1,2,_binary '','2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_discount_region_currency_link` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Discount_Region_Currency_Link` BEFORE INSERT ON `shop_discount_region_currency_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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Discount_Region_Currency_Link` BEFORE UPDATE ON `shop_discount_region_currency_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_Discount_Region_Currency_Link_Audit ( - id_link, - name_field, - value_prev, - value_new, - id_change_set - ) - /* - # Changed id_discount - SELECT NEW.id_link, 'id_discount', CONVERT(OLD.id_discount, CHAR), CONVERT(NEW.id_discount, CHAR), NEW.id_change_set - WHERE NOT OLD.id_discount <=> NEW.id_discount - 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_discount_region_currency_link_audit` --- - -DROP TABLE IF EXISTS `shop_discount_region_currency_link_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_discount_region_currency_link_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_link` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Discount_Region_Currency_Link_Audit_id_link` (`id_link`), - KEY `FK_Shop_Discount_Region_Currency_Link_Audit_id_change_set` (`id_change_set`), - 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, - 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 -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_discount_region_currency_link_audit` --- - -LOCK TABLES `shop_discount_region_currency_link_audit` WRITE; -/*!40000 ALTER TABLE `shop_discount_region_currency_link_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_discount_region_currency_link_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_general` --- - -DROP TABLE IF EXISTS `shop_general`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_general` ( - `id_general` int NOT NULL AUTO_INCREMENT, - `quantity_max` float DEFAULT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_general`), - KEY `CHK_Shop_General_id_change_set` (`id_change_set`), - CONSTRAINT `CHK_Shop_General_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_general` --- - -LOCK TABLES `shop_general` WRITE; -/*!40000 ALTER TABLE `shop_general` DISABLE KEYS */; -INSERT INTO `shop_general` VALUES (1,10,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_general` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_General` BEFORE INSERT ON `shop_general` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_General` BEFORE UPDATE ON `shop_general` 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_General_Audit ( - id_general, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed quantity max - SELECT NEW.id_general, 'quantity_max', CONVERT(OLD.quantity_max, CHAR), CONVERT(NEW.quantity_max, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_max <=> NEW.quantity_max - ; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_general_audit` --- - -DROP TABLE IF EXISTS `shop_general_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_general_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_general` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_General_Audit_id_general` (`id_general`), - KEY `FK_Shop_General_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_General_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_General_Audit_id_general` FOREIGN KEY (`id_general`) REFERENCES `shop_general` (`id_general`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_general_audit` --- - -LOCK TABLES `shop_general_audit` WRITE; -/*!40000 ALTER TABLE `shop_general_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_general_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_image` --- - -DROP TABLE IF EXISTS `shop_image`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_image` ( - `id_image` int NOT NULL AUTO_INCREMENT, - `id_type_image` int NOT NULL, - `id_type_file` int NOT NULL, - `id_product` int DEFAULT NULL, - `id_permutation` int DEFAULT NULL, - `url` varchar(255) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_image`), - KEY `FK_Shop_Image_id_type_image` (`id_type_image`), - KEY `FK_Shop_Image_id_type_file` (`id_type_file`), - KEY `FK_Shop_Image_id_product` (`id_product`), - KEY `FK_Shop_Image_id_permutation` (`id_permutation`), - KEY `FK_Shop_Image_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Image_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Image_id_permutation` FOREIGN KEY (`id_permutation`) REFERENCES `shop_product_permutation` (`id_permutation`), - CONSTRAINT `FK_Shop_Image_id_product` FOREIGN KEY (`id_product`) REFERENCES `shop_product` (`id_product`), - CONSTRAINT `FK_Shop_Image_id_type_file` FOREIGN KEY (`id_type_file`) REFERENCES `file_type` (`id_type`), - CONSTRAINT `FK_Shop_Image_id_type_image` FOREIGN KEY (`id_type_image`) REFERENCES `shop_image_type` (`id_type`) -) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_image` --- - -LOCK TABLES `shop_image` WRITE; -/*!40000 ALTER TABLE `shop_image` DISABLE KEYS */; -INSERT INTO `shop_image` VALUES (1,1,1,1,1,'/static/images/prod_PB0NUOSEs06ymG.jpg',_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,1,1,1,2,'/static/images/prod_PB0NUOSEs06ymG.jpg',_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL),(3,1,1,2,3,'/static/images/prod_PB0NUOSEs06ymG.jpg',_binary '',3,'2024-04-28 19:03:07','root@localhost',NULL),(4,1,1,3,4,'/static/images/prod_.jpg',_binary '',4,'2024-04-28 19:03:07','root@localhost',NULL),(5,1,1,4,5,'/static/images/prod_1.jpg',_binary '',5,'2024-04-28 19:03:07','root@localhost',NULL),(6,1,1,5,6,'/static/images/prod_2.jpg',_binary '',6,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_image` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Image` BEFORE INSERT ON `shop_image` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Image` BEFORE UPDATE ON `shop_image` 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; - IF ISNULL(NEW.id_product) AND ISNULL(NEW.id_permutation) THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Image must NOT have ID for product AND product permutation.'; - END IF; - - INSERT INTO Shop_Image_Audit ( - id_image, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed id_type_image - SELECT NEW.id_image, 'id_type_image', CONVERT(OLD.id_type_image, CHAR), CONVERT(NEW.id_type_image, CHAR), NEW.id_change_set - WHERE NOT OLD.id_type_image <=> NEW.id_type_image - UNION - # Changed id_type_file - SELECT NEW.id_image, 'id_type_file', CONVERT(OLD.id_type_file, CHAR), CONVERT(NEW.id_type_file, CHAR), NEW.id_change_set - WHERE NOT OLD.id_type_file <=> NEW.id_type_file - UNION - # Changed id_product - SELECT NEW.id_image, '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_permutation - SELECT NEW.id_image, 'id_permutation', CONVERT(OLD.id_permutation, CHAR), CONVERT(NEW.id_permutation, CHAR), NEW.id_change_set - WHERE NOT OLD.id_permutation <=> NEW.id_permutation - UNION - # Changed url - SELECT NEW.id_image, 'url', OLD.url, NEW.url, NEW.id_change_set - WHERE NOT OLD.url <=> NEW.url - UNION - # Changed active - SELECT NEW.id_image, '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_image, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_image_audit` --- - -DROP TABLE IF EXISTS `shop_image_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_image_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_image` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Image_Audit_id_image` (`id_image`), - KEY `FK_Shop_Image_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Image_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Image_Audit_id_image` FOREIGN KEY (`id_image`) REFERENCES `shop_image` (`id_image`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_image_audit` --- - -LOCK TABLES `shop_image_audit` WRITE; -/*!40000 ALTER TABLE `shop_image_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_image_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_image_type` --- - -DROP TABLE IF EXISTS `shop_image_type`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_image_type` ( - `id_type` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) DEFAULT NULL, - `name` varchar(255) DEFAULT NULL, - `name_plural` varchar(256) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_type`), - KEY `FK_Shop_Image_Type_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Image_Type_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_image_type` --- - -LOCK TABLES `shop_image_type` WRITE; -/*!40000 ALTER TABLE `shop_image_type` DISABLE KEYS */; -INSERT INTO `shop_image_type` VALUES (1,'FULL','Full Quality Image','Full Quality Images',_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,'LOW','Low Quality Image','Low Quality Images',_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL),(3,'THUMBNAIL','Thumbnail Image','Thumbnail Images',_binary '',3,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_image_type` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Image_Type` BEFORE INSERT ON `shop_image_type` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Image_Type` BEFORE UPDATE ON `shop_image_type` 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_Image_Type_Audit ( - id_type, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_type, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_type, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed name_plural - SELECT NEW.id_type, 'name_plural', OLD.name_plural, NEW.name_plural, NEW.id_change_set - WHERE NOT OLD.name_plural <=> NEW.name_plural - UNION - # Changed active - SELECT NEW.id_type, '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_type, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_image_type_audit` --- - -DROP TABLE IF EXISTS `shop_image_type_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_image_type_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_type` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Image_Type_Audit_id_type` (`id_type`), - KEY `FK_Shop_Image_Type_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Image_Type_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Image_Type_Audit_id_type` FOREIGN KEY (`id_type`) REFERENCES `shop_image_type` (`id_type`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_image_type_audit` --- - -LOCK TABLES `shop_image_type_audit` WRITE; -/*!40000 ALTER TABLE `shop_image_type_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_image_type_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_msg_error_type` --- - -DROP TABLE IF EXISTS `shop_msg_error_type`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_msg_error_type` ( - `id_type` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) NOT NULL, - `name` varchar(500) NOT NULL, - `description` varchar(1000) DEFAULT NULL, - PRIMARY KEY (`id_type`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_msg_error_type` --- - -LOCK TABLES `shop_msg_error_type` WRITE; -/*!40000 ALTER TABLE `shop_msg_error_type` DISABLE KEYS */; -INSERT INTO `shop_msg_error_type` VALUES (1,'BAD_DATA','Invalid data','Rubbish data'),(2,'NO_PERMISSION','No permission','Not authorised'),(3,'PRODUCT_AVAILABILITY','Product not available','Product not available'); -/*!40000 ALTER TABLE `shop_msg_error_type` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_permission` --- - -DROP TABLE IF EXISTS `shop_permission`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_permission` ( - `id_permission` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) DEFAULT NULL, - `name` varchar(255) DEFAULT NULL, - `id_permission_group` int NOT NULL, - `id_access_level_required` int NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_permission`), - KEY `FK_Shop_Permission_id_permission_group` (`id_permission_group`), - KEY `FK_Shop_Permission_id_access_level_required` (`id_access_level_required`), - KEY `FK_Shop_Permission_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Permission_id_access_level_required` FOREIGN KEY (`id_access_level_required`) REFERENCES `shop_access_level` (`id_access_level`), - CONSTRAINT `FK_Shop_Permission_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Permission_id_permission_group` FOREIGN KEY (`id_permission_group`) REFERENCES `shop_permission_group` (`id_group`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_permission` --- - -LOCK TABLES `shop_permission` WRITE; -/*!40000 ALTER TABLE `shop_permission` DISABLE KEYS */; -INSERT INTO `shop_permission` VALUES (1,'HOME','Home Page',2,1,_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,'STORE_PRODUCT','Store Product Page',3,1,_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL),(3,'STORE_USER','Store User Account Page',4,2,_binary '',3,'2024-04-28 19:03:07','root@localhost',NULL),(4,'STORE_ADMIN','Store Admin Page',1,3,_binary '',4,'2024-04-28 19:03:07','root@localhost',NULL),(5,'CONTACT_US','Contact Us Page',2,1,_binary '',99,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_permission` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Permission` BEFORE UPDATE ON `shop_permission` 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_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 Id_access_level_required - SELECT NEW.id_permission, 'Id_access_level_required', CONVERT(OLD.Id_access_level_required, CHAR), CONVERT(NEW.Id_access_level_required, CHAR), NEW.id_change_set - WHERE NOT OLD.Id_access_level_required <=> NEW.Id_access_level_required - 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) - UNION - # Changed display_order - SELECT NEW.id_permission, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_permission_audit` --- - -DROP TABLE IF EXISTS `shop_permission_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_permission_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_permission` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Permission_Audit_id_permission` (`id_permission`), - KEY `FK_Shop_Permission_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Permission_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Permission_Audit_id_permission` FOREIGN KEY (`id_permission`) REFERENCES `shop_permission` (`id_permission`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_permission_audit` --- - -LOCK TABLES `shop_permission_audit` WRITE; -/*!40000 ALTER TABLE `shop_permission_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_permission_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_permission_group` --- - -DROP TABLE IF EXISTS `shop_permission_group`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_permission_group` ( - `id_group` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) DEFAULT NULL, - `name` varchar(255) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_group`), - KEY `FK_Shop_Permission_Group_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Permission_Group_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_permission_group` --- - -LOCK TABLES `shop_permission_group` WRITE; -/*!40000 ALTER TABLE `shop_permission_group` DISABLE KEYS */; -INSERT INTO `shop_permission_group` VALUES (1,'ADMIN','Website Admin',_binary '',0,'2024-04-28 19:03:07','root@localhost',NULL),(2,'HOME','Home, Contact Us, and other public information',_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(3,'PRODUCT','Store Products',_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL),(4,'USER','Store User',_binary '',3,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_permission_group` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Permission_Group` BEFORE UPDATE ON `shop_permission_group` 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_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) - UNION - # Changed display_order - SELECT NEW.id_group, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_permission_group_audit` --- - -DROP TABLE IF EXISTS `shop_permission_group_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_permission_group_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_group` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Permission_Group_Audit_id_group` (`id_group`), - KEY `FK_Shop_Permission_Group_Audit_id_change_set` (`id_change_set`), - 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, - CONSTRAINT `FK_Shop_Permission_Group_Audit_id_group` FOREIGN KEY (`id_group`) REFERENCES `shop_permission_group` (`id_group`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_permission_group_audit` --- - -LOCK TABLES `shop_permission_group_audit` WRITE; -/*!40000 ALTER TABLE `shop_permission_group_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_permission_group_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_product` --- - -DROP TABLE IF EXISTS `shop_product`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product` ( - `id_product` int NOT NULL AUTO_INCREMENT, - `name` varchar(255) NOT NULL, - `id_category` int NOT NULL, - `has_variations` bit(1) NOT NULL, - `id_access_level_required` int NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_product`), - KEY `FK_Shop_Product_id_access_level_required` (`id_access_level_required`), - KEY `FK_Shop_Product_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_id_access_level_required` FOREIGN KEY (`id_access_level_required`) REFERENCES `shop_access_level` (`id_access_level`), - CONSTRAINT `FK_Shop_Product_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) -) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product` --- - -LOCK TABLES `shop_product` WRITE; -/*!40000 ALTER TABLE `shop_product` DISABLE KEYS */; -INSERT INTO `shop_product` VALUES (1,'Braille Keyboard Translator',1,_binary '',3,_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,'Test product 1',2,_binary '\0',3,_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL),(3,'Phone',3,_binary '\0',1,_binary '',3,'2024-04-28 19:03:07','root@localhost',NULL),(4,'Laptop',3,_binary '\0',1,_binary '',4,'2024-04-28 19:03:07','root@localhost',NULL),(5,'Smart Watch',3,_binary '\0',1,_binary '',5,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_product` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product` BEFORE INSERT ON `shop_product` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product` BEFORE UPDATE ON `shop_product` 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; - /* - IF NOT NEW.has_variations THEN - IF ISNULL(NEW.price_GBP_full) THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Product must have price or variations (with prices).'; - END IF; - IF ISNULL(NEW.price_GBP_min) THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Product must have minimum price or variations (with prices).'; - END IF; - IF ISNULL(NEW.latency_manuf) THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Product must have manufacturing latency or variations (with manufacturing latencies).'; - END IF; - IF ISNULL(NEW.quantity_min) THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Product must have minimum quantity or variations (with minimum quantities).'; - END IF; - IF ISNULL(NEW.quantity_max) THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Product must have maximum quantity or variations (with maximum quantities).'; - END IF; - IF ISNULL(NEW.quantity_step) THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Product must have increment of quantity or variations (with increments of quantities).'; - END IF; - IF ISNULL(NEW.quantity_stock) THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Product must have stock quantity or variations (with stock quantities).'; - END IF; - IF ISNULL(NEW.is_subscription) THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Product must have subscription status or variations (with subscription statuses).'; - END IF; - IF ISNULL(NEW.id_unit_measurement_interval_recurrence) THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Product must have recurrence interval or variations (with recurrence intervals).'; - END IF; - IF ISNULL(NEW.count_interval_recurrence) THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Product must have recurrence interval count or variations (with recurrence interval counts).'; - END IF; - END IF; - */ - - INSERT INTO Shop_Product_Audit ( - id_product, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed name - SELECT NEW.id_product, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - /* - UNION - # Changed description - SELECT NEW.id_product, 'description', OLD.description, NEW.description, NEW.id_change_set - WHERE NOT OLD.description <=> NEW.description - UNION - # Changed price_GBP_full - SELECT NEW.id_product, 'price_GBP_full', CONVERT(OLD.price_GBP_full, CHAR), CONVERT(NEW.price_GBP_full, CHAR), NEW.id_change_set - WHERE NOT OLD.price_GBP_full <=> NEW.price_GBP_full - UNION - # Changed price_GBP_min - SELECT NEW.id_product, 'price_GBP_min', CONVERT(OLD.price_GBP_min, CHAR), CONVERT(NEW.price_GBP_min, CHAR), NEW.id_change_set - WHERE NOT OLD.price_GBP_min <=> NEW.price_GBP_min - UNION - # Changed has_variations - SELECT NEW.id_product, 'has_variations', CONVERT(CONVERT(NEW.has_variations, SIGNED), CHAR), CONVERT(CONVERT(NEW.has_variations, SIGNED), CHAR), NEW.id_change_set - WHERE NOT OLD.has_variations <=> NEW.has_variations - UNION - /* - # Changed discount - SELECT NEW.id_product, 'discount', CONVERT(OLD.discount, CHAR), CONVERT(NEW.discount, CHAR), NEW.id_change_set - WHERE NOT OLD.discount <=> NEW.discount - */ - UNION - # Changed id_category - SELECT NEW.id_product, 'id_category', CONVERT(OLD.id_category, CHAR), CONVERT(NEW.id_category, CHAR), NEW.id_change_set - WHERE NOT OLD.id_category <=> NEW.id_category - /* - UNION - # Changed latency_manuf - SELECT NEW.id_product, 'latency_manuf', CONVERT(OLD.latency_manuf, CHAR), CONVERT(NEW.latency_manuf, CHAR), NEW.id_change_set - WHERE NOT OLD.latency_manuf <=> NEW.latency_manuf - UNION - # Changed quantity_min - SELECT NEW.id_product, 'quantity_min', CONVERT(OLD.quantity_min, CHAR), CONVERT(NEW.quantity_min, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_min <=> NEW.quantity_min - UNION - # Changed quantity_max - SELECT NEW.id_product, 'quantity_max', CONVERT(OLD.quantity_max, CHAR), CONVERT(NEW.quantity_max, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_max <=> NEW.quantity_max - UNION - # Changed quantity_step - SELECT NEW.id_product, 'quantity_step', CONVERT(OLD.quantity_step, CHAR), CONVERT(NEW.quantity_step, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_step <=> NEW.quantity_step - UNION - # Changed quantity_stock - SELECT NEW.id_product, 'quantity_stock', CONVERT(OLD.quantity_stock, CHAR), CONVERT(NEW.quantity_stock, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_stock <=> NEW.quantity_stock - UNION - # Changed is_subscription - SELECT NEW.id_product, 'is_subscription', CONVERT(CONVERT(OLD.is_subscription, SIGNED), CHAR), CONVERT(CONVERT(NEW.is_subscription, SIGNED), CHAR), NEW.id_change_set - WHERE NOT OLD.is_subscription <=> NEW.is_subscription - UNION - # Changed id_unit_measurement_interval_recurrence - SELECT NEW.id_product, 'id_unit_measurement_interval_recurrence', CONVERT(OLD.id_unit_measurement_interval_recurrence, CHAR), CONVERT(NEW.id_unit_measurement_interval_recurrence, CHAR), NEW.id_change_set - WHERE NOT OLD.id_unit_measurement_interval_recurrence <=> NEW.id_unit_measurement_interval_recurrence - UNION - # Changed count_interval_recurrence - SELECT NEW.id_product, 'count_interval_recurrence', CONVERT(OLD.count_interval_recurrence, CHAR), CONVERT(NEW.count_interval_recurrence, CHAR), NEW.id_change_set - WHERE NOT OLD.count_interval_recurrence <=> NEW.count_interval_recurrence - UNION - # Changed id_access_level_required - SELECT NEW.id_product, 'id_access_level_required', CONVERT(OLD.id_access_level_required, CHAR), CONVERT(NEW.id_access_level_required, CHAR), NEW.id_change_set - WHERE NOT OLD.id_access_level_required <=> NEW.id_access_level_required - UNION - # Changed id_stripe_product - SELECT NEW.id_product, 'id_stripe_product', OLD.id_stripe_product, NEW.id_stripe_product, NEW.id_change_set - WHERE NOT OLD.id_stripe_product <=> NEW.id_stripe_product - /* - UNION - # Changed id_stripe_price - SELECT NEW.id_product, '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_product, '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_product, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_product_audit` --- - -DROP TABLE IF EXISTS `shop_product_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_product` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Product_Audit_id_product` (`id_product`), - KEY `FK_Shop_Product_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Audit_id_product` FOREIGN KEY (`id_product`) REFERENCES `shop_product` (`id_product`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_audit` --- - -LOCK TABLES `shop_product_audit` WRITE; -/*!40000 ALTER TABLE `shop_product_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_product_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_product_change_set` --- - -DROP TABLE IF EXISTS `shop_product_change_set`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_change_set` ( - `id_change_set` int NOT NULL AUTO_INCREMENT, - `comment` varchar(500) DEFAULT NULL, - `updated_last_on` datetime DEFAULT NULL, - `updated_last_by` varchar(100) DEFAULT NULL, - PRIMARY KEY (`id_change_set`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_change_set` --- - -LOCK TABLES `shop_product_change_set` WRITE; -/*!40000 ALTER TABLE `shop_product_change_set` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_product_change_set` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Change_Set` BEFORE INSERT ON `shop_product_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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_product_currency_link` --- - -DROP TABLE IF EXISTS `shop_product_currency_link`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_currency_link` ( - `id_link` int NOT NULL AUTO_INCREMENT, - `id_product` int NOT NULL, - `id_permutation` int DEFAULT NULL, - `id_currency` int NOT NULL, - `id_region_purchase` int NOT NULL, - `price_local_VAT_incl` float DEFAULT NULL, - `price_local_VAT_excl` float DEFAULT NULL, - `id_stripe_price` varchar(200) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_link`), - KEY `FK_Shop_Product_Currency_Link_id_product` (`id_product`), - KEY `FK_Shop_Product_Currency_Link_id_permutation` (`id_permutation`), - KEY `FK_Shop_Product_Currency_Link_id_currency` (`id_currency`), - KEY `FK_Shop_Product_Currency_Link_id_region_purchase` (`id_region_purchase`), - KEY `FK_Shop_Product_Currency_Link_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Currency_Link_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Currency_Link_id_currency` FOREIGN KEY (`id_currency`) REFERENCES `shop_currency` (`id_currency`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Currency_Link_id_permutation` FOREIGN KEY (`id_permutation`) REFERENCES `shop_product_permutation` (`id_permutation`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Currency_Link_id_product` FOREIGN KEY (`id_product`) REFERENCES `shop_product` (`id_product`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Currency_Link_id_region_purchase` FOREIGN KEY (`id_region_purchase`) REFERENCES `shop_region` (`id_region`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_currency_link` --- - -LOCK TABLES `shop_product_currency_link` WRITE; -/*!40000 ALTER TABLE `shop_product_currency_link` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_product_currency_link` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Currency_Link` BEFORE INSERT ON `shop_product_currency_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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product_Currency_Link` BEFORE UPDATE ON `shop_product_currency_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_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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_product_currency_link_audit` --- - -DROP TABLE IF EXISTS `shop_product_currency_link_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_currency_link_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_link` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Product_Currency_Link_Audit_id_link` (`id_link`), - KEY `FK_Shop_Product_Currency_Link_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Currency_Link_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Currency_Link_Audit_id_link` FOREIGN KEY (`id_link`) REFERENCES `shop_product_currency_link` (`id_link`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_currency_link_audit` --- - -LOCK TABLES `shop_product_currency_link_audit` WRITE; -/*!40000 ALTER TABLE `shop_product_currency_link_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_product_currency_link_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_product_currency_region_link` --- - -DROP TABLE IF EXISTS `shop_product_currency_region_link`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_currency_region_link` ( - `id_link` int NOT NULL AUTO_INCREMENT, - `id_product` int NOT NULL, - `id_permutation` int DEFAULT NULL, - `id_currency` int NOT NULL, - `id_region_purchase` int NOT NULL, - `price_local_VAT_incl` float DEFAULT NULL, - `price_local_VAT_excl` float DEFAULT NULL, - `id_stripe_price` varchar(200) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_link`), - KEY `FK_Shop_Product_Currency_Region_Link_id_product` (`id_product`), - KEY `FK_Shop_Product_Currency_Region_Link_id_permutation` (`id_permutation`), - KEY `FK_Shop_Product_Currency_Region_Link_id_currency` (`id_currency`), - KEY `FK_Shop_Product_Currency_Region_Link_id_region_purchase` (`id_region_purchase`), - KEY `FK_Shop_Product_Currency_Region_Link_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Currency_Region_Link_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Currency_Region_Link_id_currency` FOREIGN KEY (`id_currency`) REFERENCES `shop_currency` (`id_currency`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Currency_Region_Link_id_permutation` FOREIGN KEY (`id_permutation`) REFERENCES `shop_product_permutation` (`id_permutation`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Currency_Region_Link_id_product` FOREIGN KEY (`id_product`) REFERENCES `shop_product` (`id_product`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Currency_Region_Link_id_region_purchase` FOREIGN KEY (`id_region_purchase`) REFERENCES `shop_region` (`id_region`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_currency_region_link` --- - -LOCK TABLES `shop_product_currency_region_link` WRITE; -/*!40000 ALTER TABLE `shop_product_currency_region_link` DISABLE KEYS */; -INSERT INTO `shop_product_currency_region_link` VALUES (1,1,1,1,1,24,20,NULL,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(2,1,1,2,1,48,40,NULL,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(3,1,2,1,1,96,80,NULL,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(4,2,3,1,1,144,120,NULL,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(5,3,4,1,1,600,500,NULL,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(6,4,5,1,1,1500,1200,NULL,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(7,5,6,1,1,180,150,NULL,_binary '','2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_product_currency_region_link` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_product_currency_region_link_audit` --- - -DROP TABLE IF EXISTS `shop_product_currency_region_link_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_currency_region_link_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_link` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Product_Currency_Region_Link_Audit_id_link` (`id_link`), - KEY `FK_Shop_Product_Currency_Region_Link_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Currency_Region_Link_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - 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 -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_currency_region_link_audit` --- - -LOCK TABLES `shop_product_currency_region_link_audit` WRITE; -/*!40000 ALTER TABLE `shop_product_currency_region_link_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_product_currency_region_link_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_product_delivery_option_link` --- - -DROP TABLE IF EXISTS `shop_product_delivery_option_link`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_delivery_option_link` ( - `id_link` int NOT NULL AUTO_INCREMENT, - `id_product` int NOT NULL, - `id_permutation` int DEFAULT NULL, - `id_delivery_option` int NOT NULL, - `id_region` int NOT NULL, - `id_currency` int NOT NULL, - `price_local` float NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_link`), - KEY `FK_Shop_Product_Delivery_Option_Link_id_product` (`id_product`), - KEY `FK_Shop_Product_Delivery_Option_Link_id_permutation` (`id_permutation`), - KEY `FK_Shop_Product_Delivery_Option_Link_id_delivery_option` (`id_delivery_option`), - KEY `FK_Shop_Product_Delivery_Option_Link_id_region` (`id_region`), - KEY `FK_Shop_Product_Delivery_Option_Link_id_currency` (`id_currency`), - KEY `FK_Shop_Product_Delivery_Option_Link_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Delivery_Option_Link_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Delivery_Option_Link_id_currency` FOREIGN KEY (`id_currency`) REFERENCES `shop_currency` (`id_currency`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Delivery_Option_Link_id_delivery_option` FOREIGN KEY (`id_delivery_option`) REFERENCES `shop_delivery_option` (`id_option`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Delivery_Option_Link_id_permutation` FOREIGN KEY (`id_permutation`) REFERENCES `shop_product_permutation` (`id_permutation`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Delivery_Option_Link_id_product` FOREIGN KEY (`id_product`) REFERENCES `shop_product` (`id_product`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Delivery_Option_Link_id_region` FOREIGN KEY (`id_region`) REFERENCES `shop_region` (`id_region`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_delivery_option_link` --- - -LOCK TABLES `shop_product_delivery_option_link` WRITE; -/*!40000 ALTER TABLE `shop_product_delivery_option_link` DISABLE KEYS */; -INSERT INTO `shop_product_delivery_option_link` VALUES (1,1,1,1,1,1,5,_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,1,2,1,1,1,9,_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL),(3,2,NULL,1,1,1,10,_binary '',3,'2024-04-28 19:03:07','root@localhost',NULL),(4,3,4,1,1,1,10,_binary '',4,'2024-04-28 19:03:07','root@localhost',NULL),(5,4,5,1,1,1,10,_binary '',5,'2024-04-28 19:03:07','root@localhost',NULL),(6,5,6,1,1,1,10,_binary '',6,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_product_delivery_option_link` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Delivery_Option_Link` BEFORE INSERT ON `shop_product_delivery_option_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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product_Delivery_Option_Link` BEFORE UPDATE ON `shop_product_delivery_option_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_Option_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_permutation - SELECT NEW.id_link, 'id_permutation', CONVERT(OLD.id_permutation, CHAR), CONVERT(NEW.id_permutation, CHAR), NEW.id_change_set - WHERE NOT OLD.id_permutation <=> NEW.id_permutation - UNION - # Changed id_option - SELECT NEW.id_link, 'id_option', CONVERT(OLD.id_option, CHAR), CONVERT(NEW.id_option, CHAR), NEW.id_change_set - WHERE NOT OLD.id_option <=> NEW.id_option - 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 price_local - SELECT NEW.id_link, 'price_local', CONVERT(OLD.price_local, CHAR), CONVERT(NEW.price_local, CHAR), NEW.id_change_set - WHERE NOT OLD.price_local <=> NEW.price_local - 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_product_delivery_option_link_audit` --- - -DROP TABLE IF EXISTS `shop_product_delivery_option_link_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_delivery_option_link_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_link` int NOT NULL, - `name_field` varchar(64) NOT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Product_Delivery_Option_Link_Audit_id_link` (`id_link`), - KEY `FK_Shop_Product_Delivery_Option_Link_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Delivery_Option_Link_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Delivery_Option_Link_Audit_id_link` FOREIGN KEY (`id_link`) REFERENCES `shop_product_delivery_option_link` (`id_link`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_delivery_option_link_audit` --- - -LOCK TABLES `shop_product_delivery_option_link_audit` WRITE; -/*!40000 ALTER TABLE `shop_product_delivery_option_link_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_product_delivery_option_link_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_product_permutation` --- - -DROP TABLE IF EXISTS `shop_product_permutation`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_permutation` ( - `id_permutation` int NOT NULL AUTO_INCREMENT, - `id_product` int NOT NULL, - `description` varchar(4000) NOT NULL, - `cost_local_manufacturing` float NOT NULL, - `id_currency_cost_manufacturing` int NOT NULL, - `profit_local_min` float NOT NULL, - `id_currency_profit_min` int NOT NULL, - `latency_manufacture` int NOT NULL, - `quantity_min` float NOT NULL, - `quantity_max` float NOT NULL, - `quantity_step` float NOT NULL, - `quantity_stock` float NOT NULL, - `is_subscription` bit(1) NOT NULL, - `id_unit_measurement_interval_recurrence` int DEFAULT NULL, - `count_interval_recurrence` int DEFAULT NULL, - `id_access_level_required` int NOT NULL, - `id_stripe_product` varchar(100) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_permutation`), - KEY `FK_Shop_Product_Variation_Link_id_product` (`id_product`), - KEY `FK_Shop_Product_Permutation_id_unit_measurement_interval_recurrence` (`id_unit_measurement_interval_recurrence`), - KEY `FK_Shop_Product_Permutation_id_access_level_required` (`id_access_level_required`), - KEY `FK_Shop_Product_Variation_Link_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Permutation_id_access_level_required` FOREIGN KEY (`id_access_level_required`) REFERENCES `shop_access_level` (`id_access_level`), - CONSTRAINT `FK_Shop_Product_Permutation_id_unit_measurement_interval_recurrence` FOREIGN KEY (`id_unit_measurement_interval_recurrence`) REFERENCES `shop_interval_recurrence` (`id_interval`), - CONSTRAINT `FK_Shop_Product_Variation_Link_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Variation_Link_id_product` FOREIGN KEY (`id_product`) REFERENCES `shop_product` (`id_product`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_permutation` --- - -LOCK TABLES `shop_product_permutation` WRITE; -/*!40000 ALTER TABLE `shop_product_permutation` DISABLE KEYS */; -INSERT INTO `shop_product_permutation` VALUES (1,1,'Good Red',5,1,3,1,14,1,3,1,99,_binary '\0',NULL,NULL,1,NULL,_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,1,'Good Blue',6,1,4,1,14,1,3,1,99,_binary '\0',NULL,NULL,1,NULL,_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL),(3,2,'Test product describes good',10,1,5,1,14,1,2,1,99,_binary '\0',NULL,NULL,1,NULL,_binary '',3,'2024-04-28 19:03:07','root@localhost',NULL),(4,3,'Phone describes good',10,1,5,1,14,1,2,1,99,_binary '\0',NULL,NULL,1,NULL,_binary '',4,'2024-04-28 19:03:07','root@localhost',NULL),(5,4,'Laptop describes good',10,1,5,1,14,1,2,1,99,_binary '\0',NULL,NULL,1,NULL,_binary '',5,'2024-04-28 19:03:07','root@localhost',NULL),(6,5,'Smart watch describes good',10,1,5,1,14,1,2,1,99,_binary '\0',NULL,NULL,1,NULL,_binary '',6,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_product_permutation` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Permutation` BEFORE INSERT ON `shop_product_permutation` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product_Permutation` BEFORE UPDATE ON `shop_product_permutation` 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_Permutation_Audit ( - id_permutation, - name_field, - value_prev, - value_new, - id_change_set - ) - /* - # Changed id_product - SELECT NEW.id_permutation, '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_permutation, 'id_variation', OLD.id_variation, NEW.id_variation, NEW.id_change_set - WHERE NOT OLD.id_variation <=> NEW.id_variation - UNION - # Changed name - SELECT NEW.id_permutation, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT (OLD.name <=> NEW.name) - UNION - */ - # Changed description - SELECT NEW.id_permutation, 'description', OLD.description, NEW.description, NEW.id_change_set - WHERE NOT (OLD.description <=> NEW.description) - UNION - # Changed cost_local_manufacturing - SELECT NEW.id_permutation, 'cost_local_manufacturing', CONVERT(OLD.cost_local_manufacturing, CHAR), CONVERT(NEW.cost_local_manufacturing, CHAR), NEW.id_change_set - WHERE NOT (OLD.cost_local_manufacturing <=> NEW.cost_local_manufacturing) - UNION - # Changed id_currency_cost_manufacturing - SELECT NEW.id_permutation, 'id_currency_cost_manufacturing', CONVERT(OLD.id_currency_cost_manufacturing, CHAR), CONVERT(NEW.id_currency_cost_manufacturing, CHAR), NEW.id_change_set - WHERE NOT (OLD.id_currency_cost_manufacturing <=> NEW.id_currency_cost_manufacturing) - UNION - # Changed profit_local_min - SELECT NEW.id_permutation, 'profit_local_min', CONVERT(OLD.profit_local_min, CHAR), CONVERT(NEW.profit_local_min, CHAR), NEW.id_change_set - WHERE NOT (OLD.profit_local_min <=> NEW.profit_local_min) - UNION - # Changed id_currency_profit_min - SELECT NEW.id_permutation, 'id_currency_profit_min', CONVERT(OLD.id_currency_profit_min, CHAR), CONVERT(NEW.id_currency_profit_min, CHAR), NEW.id_change_set - WHERE NOT (OLD.id_currency_profit_min <=> NEW.id_currency_profit_min) - UNION - /* - # Changed price_GBP_min - SELECT NEW.id_permutation, 'price_GBP_min', CONVERT(OLD.price_GBP_min, CHAR), CONVERT(NEW.price_GBP_min, CHAR), NEW.id_change_set - WHERE NOT (OLD.price_GBP_min <=> NEW.price_GBP_min) - UNION - */ - # Changed latency_manufacture - SELECT NEW.id_product, 'latency_manufacture', CONVERT(OLD.latency_manufacture, CHAR), CONVERT(NEW.latency_manufacture, CHAR), NEW.id_change_set - WHERE NOT OLD.latency_manufacture <=> NEW.latency_manufacture - UNION - # Changed quantity_min - SELECT NEW.id_product, 'quantity_min', CONVERT(OLD.quantity_min, CHAR), CONVERT(NEW.quantity_min, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_min <=> NEW.quantity_min - UNION - # Changed quantity_max - SELECT NEW.id_product, 'quantity_max', CONVERT(OLD.quantity_max, CHAR), CONVERT(NEW.quantity_max, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_max <=> NEW.quantity_max - UNION - # Changed quantity_step - SELECT NEW.id_product, 'quantity_step', CONVERT(OLD.quantity_step, CHAR), CONVERT(NEW.quantity_step, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_step <=> NEW.quantity_step - UNION - # Changed quantity_stock - SELECT NEW.id_product, 'quantity_stock', CONVERT(OLD.quantity_stock, CHAR), CONVERT(NEW.quantity_stock, CHAR), NEW.id_change_set - WHERE NOT OLD.quantity_stock <=> NEW.quantity_stock - UNION - # Changed is_subscription - SELECT NEW.id_product, 'is_subscription', CONVERT(CONVERT(OLD.is_subscription, SIGNED), CHAR), CONVERT(CONVERT(NEW.is_subscription, SIGNED), CHAR), NEW.id_change_set - WHERE NOT OLD.is_subscription <=> NEW.is_subscription - UNION - # Changed id_unit_measurement_interval_recurrence - SELECT NEW.id_product, 'id_unit_measurement_interval_recurrence', CONVERT(OLD.id_unit_measurement_interval_recurrence, CHAR), CONVERT(NEW.id_unit_measurement_interval_recurrence, CHAR), NEW.id_change_set - WHERE NOT OLD.id_unit_measurement_interval_recurrence <=> NEW.id_unit_measurement_interval_recurrence - UNION - # Changed count_interval_recurrence - SELECT NEW.id_product, 'count_interval_recurrence', CONVERT(OLD.count_interval_recurrence, CHAR), CONVERT(NEW.count_interval_recurrence, CHAR), NEW.id_change_set - WHERE NOT OLD.count_interval_recurrence <=> NEW.count_interval_recurrence - UNION - # Changed id_stripe_product - SELECT NEW.id_permutation, 'id_stripe_product', OLD.id_stripe_product, NEW.id_stripe_product, NEW.id_change_set - WHERE NOT (OLD.id_stripe_product <=> NEW.id_stripe_product) - UNION - # Changed active - SELECT NEW.id_permutation, '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_permutation, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_product_permutation_audit` --- - -DROP TABLE IF EXISTS `shop_product_permutation_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_permutation_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_permutation` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Product_Permutation_Audit_id_permutation` (`id_permutation`), - KEY `FK_Shop_Product_Permutation_Audit_id_change_set` (`id_change_set`), - 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, - CONSTRAINT `FK_Shop_Product_Permutation_Audit_id_permutation` FOREIGN KEY (`id_permutation`) REFERENCES `shop_product_permutation` (`id_permutation`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_permutation_audit` --- - -LOCK TABLES `shop_product_permutation_audit` WRITE; -/*!40000 ALTER TABLE `shop_product_permutation_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_product_permutation_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_product_permutation_variation_link` --- - -DROP TABLE IF EXISTS `shop_product_permutation_variation_link`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_permutation_variation_link` ( - `id_link` int NOT NULL AUTO_INCREMENT, - `id_permutation` int NOT NULL, - `id_variation` int NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_link`), - KEY `FK_Shop_Product_Permutation_Variation_Link_id_permutation` (`id_permutation`), - KEY `FK_Shop_Product_Permutation_Variation_Link_id_variation` (`id_variation`), - KEY `FK_Shop_Product_Permutation_Variation_Link_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Permutation_Variation_Link_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Product_Permutation_Variation_Link_id_permutation` FOREIGN KEY (`id_permutation`) REFERENCES `shop_product_permutation` (`id_permutation`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Product_Permutation_Variation_Link_id_variation` FOREIGN KEY (`id_variation`) REFERENCES `shop_variation` (`id_variation`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_permutation_variation_link` --- - -LOCK TABLES `shop_product_permutation_variation_link` WRITE; -/*!40000 ALTER TABLE `shop_product_permutation_variation_link` DISABLE KEYS */; -INSERT INTO `shop_product_permutation_variation_link` VALUES (1,1,1,_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,2,2,_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_product_permutation_variation_link` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Product_Permutation_Variation_Link` BEFORE INSERT ON `shop_product_permutation_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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Product_Permutation_Variation_Link` BEFORE UPDATE ON `shop_product_permutation_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_Permutation_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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_product_permutation_variation_link_audit` --- - -DROP TABLE IF EXISTS `shop_product_permutation_variation_link_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_product_permutation_variation_link_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_link` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Product_Permutation_Variation_Link_Audit_id_link` (`id_link`), - KEY `FK_Shop_Product_Permutation_Variation_Link_Audit_id_change_set` (`id_change_set`), - 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, - 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 -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_product_permutation_variation_link_audit` --- - -LOCK TABLES `shop_product_permutation_variation_link_audit` WRITE; -/*!40000 ALTER TABLE `shop_product_permutation_variation_link_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_product_permutation_variation_link_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_interval_recurrence` --- - -DROP TABLE IF EXISTS `shop_interval_recurrence`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_interval_recurrence` ( - `id_interval` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) DEFAULT NULL, - `name` varchar(255) DEFAULT NULL, - `name_plural` varchar(256) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_interval`), - KEY `FK_Shop_Interval_Recurrence_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Interval_Recurrence_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_interval_recurrence` --- - -LOCK TABLES `shop_interval_recurrence` WRITE; -/*!40000 ALTER TABLE `shop_interval_recurrence` DISABLE KEYS */; -INSERT INTO `shop_interval_recurrence` VALUES (1,'WEEK','Week','Weeks',_binary '','2024-04-28 19:03:07','root@localhost',NULL),(2,'MONTH','Month','Months',_binary '','2024-04-28 19:03:07','root@localhost',NULL),(3,'YEAR','Year','Years',_binary '','2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_interval_recurrence` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_interval_recurrence_audit` --- - -DROP TABLE IF EXISTS `shop_interval_recurrence_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_interval_recurrence_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_interval` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(256) DEFAULT NULL, - `value_new` varchar(256) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Interval_Recurrence_Audit_id_interval` (`id_interval`), - KEY `FK_Shop_Interval_Recurrence_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Interval_Recurrence_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Interval_Recurrence_Audit_id_interval` FOREIGN KEY (`id_interval`) REFERENCES `shop_interval_recurrence` (`id_interval`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_interval_recurrence_audit` --- - -LOCK TABLES `shop_interval_recurrence_audit` WRITE; -/*!40000 ALTER TABLE `shop_interval_recurrence_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_interval_recurrence_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_region` --- - -DROP TABLE IF EXISTS `shop_region`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_region` ( - `id_region` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) NOT NULL, - `name` varchar(200) NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_region`), - KEY `FK_Shop_Region_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Region_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_region` --- - -LOCK TABLES `shop_region` WRITE; -/*!40000 ALTER TABLE `shop_region` DISABLE KEYS */; -INSERT INTO `shop_region` VALUES (1,'UK','United Kingdom',_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_region` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Region` BEFORE INSERT ON `shop_region` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Region` BEFORE UPDATE ON `shop_region` 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_Region_Audit ( - id_region, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_region, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_region, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed active - SELECT NEW.id_region, 'active', CONVERT(OLD.active, CHAR), CONVERT(NEW.active, CHAR), NEW.id_change_set - WHERE NOT OLD.active <=> NEW.active - UNION - # Changed display_order - SELECT NEW.id_region, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set - WHERE NOT OLD.display_order <=> NEW.display_order - ; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_region_audit` --- - -DROP TABLE IF EXISTS `shop_region_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_region_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_region` int NOT NULL, - `name_field` varchar(64) NOT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Region_Audit_id_region` (`id_region`), - KEY `FK_Shop_Region_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Region_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Region_Audit_id_region` FOREIGN KEY (`id_region`) REFERENCES `shop_region` (`id_region`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_region_audit` --- - -LOCK TABLES `shop_region_audit` WRITE; -/*!40000 ALTER TABLE `shop_region_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_region_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_region_branch` --- - -DROP TABLE IF EXISTS `shop_region_branch`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_region_branch` ( - `id_branch` int NOT NULL AUTO_INCREMENT, - `id_region_parent` int NOT NULL, - `id_region_child` int NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_branch`), - KEY `FK_Shop_Region_Branch_id_region_parent` (`id_region_parent`), - KEY `FK_Shop_Region_Branch_id_region_child` (`id_region_child`), - KEY `FK_Shop_Region_Branch_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Region_Branch_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Region_Branch_id_region_child` FOREIGN KEY (`id_region_child`) REFERENCES `shop_region` (`id_region`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Region_Branch_id_region_parent` FOREIGN KEY (`id_region_parent`) REFERENCES `shop_region` (`id_region`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_region_branch` --- - -LOCK TABLES `shop_region_branch` WRITE; -/*!40000 ALTER TABLE `shop_region_branch` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_region_branch` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Region_Branch` BEFORE INSERT ON `shop_region_branch` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Region_Branch` BEFORE UPDATE ON `shop_region_branch` 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_Region_Branch_Audit ( - id_branch, - name_field, - value_prev, - value_new, - id_change_set - ) - /* - # Changed depth - SELECT NEW.id_branch, 'depth', CONVERT(OLD.depth, CHAR), CONVERT(NEW.depth, CHAR), NEW.id_change_set - WHERE NOT OLD.depth <=> NEW.depth - UNION - */ - # Changed active - SELECT NEW.id_branch, 'active', CONVERT(OLD.active, CHAR), CONVERT(NEW.active, CHAR), NEW.id_change_set - WHERE NOT OLD.active <=> NEW.active - UNION - # Changed display_order - SELECT NEW.id_branch, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set - WHERE NOT OLD.display_order <=> NEW.display_order - ; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_region_branch_audit` --- - -DROP TABLE IF EXISTS `shop_region_branch_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_region_branch_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_branch` int NOT NULL, - `name_field` varchar(64) NOT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Region_Branch_Audit_id_branch` (`id_branch`), - KEY `FK_Shop_Region_Branch_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Region_Branch_Audit_id_branch` FOREIGN KEY (`id_branch`) REFERENCES `shop_region_branch` (`id_branch`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Region_Branch_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_region_branch_audit` --- - -LOCK TABLES `shop_region_branch_audit` WRITE; -/*!40000 ALTER TABLE `shop_region_branch_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_region_branch_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_role` --- - -DROP TABLE IF EXISTS `shop_role`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_role` ( - `id_role` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) DEFAULT NULL, - `name` varchar(255) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_role`), - KEY `FK_Shop_Role_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Role_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`) -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_role` --- - -LOCK TABLES `shop_role` WRITE; -/*!40000 ALTER TABLE `shop_role` DISABLE KEYS */; -INSERT INTO `shop_role` VALUES (1,'DIRECTOR','Director',_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,'USER','User',_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_role` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Role` BEFORE UPDATE ON `shop_role` 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_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) - UNION - # Changed display_order - SELECT NEW.id_role, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_role_audit` --- - -DROP TABLE IF EXISTS `shop_role_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_role_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_role` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Role_Audit_id_role` (`id_role`), - KEY `FK_Shop_Role_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Role_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Role_Audit_id_role` FOREIGN KEY (`id_role`) REFERENCES `shop_role` (`id_role`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_role_audit` --- - -LOCK TABLES `shop_role_audit` WRITE; -/*!40000 ALTER TABLE `shop_role_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_role_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_role_permission_link` --- - -DROP TABLE IF EXISTS `shop_role_permission_link`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_role_permission_link` ( - `id_link` int NOT NULL AUTO_INCREMENT, - `id_role` int DEFAULT NULL, - `id_permission` int DEFAULT NULL, - `id_access_level` int DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_link`), - KEY `FK_Shop_Role_Permission_Link_id_role` (`id_role`), - KEY `FK_Shop_Role_Permission_Link_id_permission` (`id_permission`), - KEY `FK_Shop_Role_Permission_Link_id_access_level` (`id_access_level`), - KEY `FK_Shop_Role_Permission_Link_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Role_Permission_Link_id_access_level` FOREIGN KEY (`id_access_level`) REFERENCES `shop_access_level` (`id_access_level`), - CONSTRAINT `FK_Shop_Role_Permission_Link_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Role_Permission_Link_id_permission` FOREIGN KEY (`id_permission`) REFERENCES `shop_permission` (`id_permission`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Role_Permission_Link_id_role` FOREIGN KEY (`id_role`) REFERENCES `shop_role` (`id_role`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_role_permission_link` --- - -LOCK TABLES `shop_role_permission_link` WRITE; -/*!40000 ALTER TABLE `shop_role_permission_link` DISABLE KEYS */; -INSERT INTO `shop_role_permission_link` VALUES (1,1,1,3,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(2,1,2,3,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(3,1,3,3,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(4,1,4,3,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(5,1,5,3,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(6,2,1,1,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(7,2,2,1,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(8,2,3,1,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(9,2,4,1,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(10,2,5,1,_binary '','2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_role_permission_link` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Role_Permission_Link` BEFORE UPDATE ON `shop_role_permission_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_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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_role_permission_link_audit` --- - -DROP TABLE IF EXISTS `shop_role_permission_link_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_role_permission_link_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_link` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Role_Permission_Link_Audit_id_link` (`id_link`), - KEY `FK_Shop_Role_Permission_Link_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Role_Permission_Link_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Role_Permission_Link_Audit_id_link` FOREIGN KEY (`id_link`) REFERENCES `shop_role_permission_link` (`id_link`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_role_permission_link_audit` --- - -LOCK TABLES `shop_role_permission_link_audit` WRITE; -/*!40000 ALTER TABLE `shop_role_permission_link_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_role_permission_link_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_tax_or_surcharge` --- - -DROP TABLE IF EXISTS `shop_tax_or_surcharge`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_tax_or_surcharge` ( - `id_tax` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) NOT NULL, - `name` varchar(200) NOT NULL, - `id_region_buyer` int NOT NULL, - `id_region_seller` int NOT NULL, - `id_currency` int DEFAULT NULL, - `fixed_fee` float NOT NULL DEFAULT '0', - `multiplier` float NOT NULL DEFAULT '1', - `apply_fixed_fee_before_multiplier` bit(1) DEFAULT b'1', - `quantity_min` float NOT NULL DEFAULT '0', - `quantity_max` float NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_tax`), - KEY `FK_Shop_Tax_Or_Surcharge_id_region_buyer` (`id_region_buyer`), - KEY `FK_Shop_Tax_Or_Surcharge_id_region_seller` (`id_region_seller`), - KEY `FK_Shop_Tax_Or_Surcharge_id_currency` (`id_currency`), - KEY `FK_Shop_Tax_Or_Surcharge_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Tax_Or_Surcharge_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Tax_Or_Surcharge_id_currency` FOREIGN KEY (`id_currency`) REFERENCES `shop_currency` (`id_currency`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_Tax_Or_Surcharge_id_region_buyer` FOREIGN KEY (`id_region_buyer`) REFERENCES `shop_region` (`id_region`), - CONSTRAINT `FK_Shop_Tax_Or_Surcharge_id_region_seller` FOREIGN KEY (`id_region_seller`) REFERENCES `shop_region` (`id_region`), - CONSTRAINT `shop_tax_or_surcharge_chk_1` CHECK ((`multiplier` > 0)) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_tax_or_surcharge` --- - -LOCK TABLES `shop_tax_or_surcharge` WRITE; -/*!40000 ALTER TABLE `shop_tax_or_surcharge` DISABLE KEYS */; -INSERT INTO `shop_tax_or_surcharge` VALUES (1,'VAT','Value Added Tax',1,1,NULL,0,0.2,_binary '',0,1,_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_tax_or_surcharge` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Tax_Or_Surcharge` BEFORE INSERT ON `shop_tax_or_surcharge` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Tax_Or_Surcharge` BEFORE UPDATE ON `shop_tax_or_surcharge` 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_Tax_Or_Surcharge_Audit ( - id_tax, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_tax, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_tax, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed fixed_fee - SELECT NEW.id_tax, 'fixed_fee', OLD.fixed_fee, NEW.fixed_fee, NEW.id_change_set - WHERE NOT OLD.fixed_fee <=> NEW.fixed_fee - UNION - # Changed multiplier - SELECT NEW.id_tax, 'multiplier', OLD.multiplier, NEW.multiplier, NEW.id_change_set - WHERE NOT OLD.multiplier <=> NEW.multiplier - UNION - # Changed apply_fixed_fee_before_multiplier - SELECT NEW.id_tax, 'apply_fixed_fee_before_multiplier', CONVERT(CONVERT(OLD.apply_fixed_fee_before_multiplier, SIGNED), CHAR), CONVERT(CONVERT(NEW.apply_fixed_fee_before_multiplier, SIGNED), CHAR), NEW.id_change_set - WHERE NOT OLD.apply_fixed_fee_before_multiplier <=> NEW.apply_fixed_fee_before_multiplier - UNION - # Changed quantity_min - SELECT NEW.id_tax, 'quantity_min', OLD.quantity_min, NEW.quantity_min, NEW.id_change_set - WHERE NOT OLD.quantity_min <=> NEW.quantity_min - UNION - # Changed quantity_max - SELECT NEW.id_tax, 'quantity_max', OLD.quantity_max, NEW.quantity_max, NEW.id_change_set - WHERE NOT OLD.quantity_max <=> NEW.quantity_max - UNION - # Changed display_order - SELECT NEW.id_tax, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set - WHERE NOT OLD.display_order <=> NEW.display_order - UNION - # Changed active - SELECT NEW.id_tax, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_tax_or_surcharge_audit` --- - -DROP TABLE IF EXISTS `shop_tax_or_surcharge_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_tax_or_surcharge_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_tax` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Tax_Or_Surcharge_Audit_id_discount` (`id_tax`), - KEY `FK_Shop_Tax_Or_Surcharge_Audit_id_change_set` (`id_change_set`), - 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, - CONSTRAINT `FK_Shop_Tax_Or_Surcharge_Audit_id_discount` FOREIGN KEY (`id_tax`) REFERENCES `shop_tax_or_surcharge` (`id_tax`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_tax_or_surcharge_audit` --- - -LOCK TABLES `shop_tax_or_surcharge_audit` WRITE; -/*!40000 ALTER TABLE `shop_tax_or_surcharge_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_tax_or_surcharge_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_user` --- - -DROP TABLE IF EXISTS `shop_user`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user` ( - `id_user` varchar(200) NOT NULL, - `name` varchar(255) NOT NULL, - `email` varchar(254) NOT NULL, - `email_verified` bit(1) NOT NULL DEFAULT b'0', - `is_super_user` bit(1) NOT NULL DEFAULT b'0', - `active` bit(1) NOT NULL DEFAULT b'1', - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_user`), - KEY `FK_Shop_User_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user` --- - -LOCK TABLES `shop_user` WRITE; -/*!40000 ALTER TABLE `shop_user` DISABLE KEYS */; -INSERT INTO `shop_user` VALUES ('auth0|6582b95c895d09a70ba10fef','Teddy','edward.middletonsmith@gmail.com',_binary '\0',_binary '',_binary '','2024-04-28 19:03:07','root@localhost',NULL),('parts_guest','Guest','',_binary '\0',_binary '\0',_binary '','2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_user` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_User` BEFORE UPDATE ON `shop_user` 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_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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_user_audit` --- - -DROP TABLE IF EXISTS `shop_user_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_user` varchar(200) NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_User_Audit_id_user` (`id_user`), - KEY `FK_Shop_User_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_User_Audit_id_user` FOREIGN KEY (`id_user`) REFERENCES `shop_user` (`id_user`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_audit` --- - -LOCK TABLES `shop_user_audit` WRITE; -/*!40000 ALTER TABLE `shop_user_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_user_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_user_basket` --- - -DROP TABLE IF EXISTS `shop_user_basket`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_basket` ( - `id_item` int NOT NULL AUTO_INCREMENT, - `id_user` varchar(200) NOT NULL, - `id_product` int NOT NULL, - `id_permutation` int DEFAULT NULL, - `quantity` int NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set_user` int DEFAULT NULL, - PRIMARY KEY (`id_item`), - KEY `FK_Shop_User_Basket_id_user` (`id_user`), - KEY `FK_Shop_User_Basket_id_product` (`id_product`), - KEY `FK_Shop_User_Basket_id_permutation` (`id_permutation`), - KEY `FK_Shop_User_Basket_id_change_set_user` (`id_change_set_user`), - CONSTRAINT `FK_Shop_User_Basket_id_change_set_user` FOREIGN KEY (`id_change_set_user`) REFERENCES `shop_user_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Basket_id_permutation` FOREIGN KEY (`id_permutation`) REFERENCES `shop_product_permutation` (`id_permutation`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_User_Basket_id_product` FOREIGN KEY (`id_product`) REFERENCES `shop_product` (`id_product`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_User_Basket_id_user` FOREIGN KEY (`id_user`) REFERENCES `shop_user` (`id_user`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_basket` --- - -LOCK TABLES `shop_user_basket` WRITE; -/*!40000 ALTER TABLE `shop_user_basket` DISABLE KEYS */; -INSERT INTO `shop_user_basket` VALUES (1,'auth0|6582b95c895d09a70ba10fef',1,1,69,_binary '','2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_user_basket` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_User_Basket` BEFORE INSERT ON `shop_user_basket` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_User_Basket` BEFORE UPDATE ON `shop_user_basket` FOR EACH ROW BEGIN - IF NEW.id_change_set_user <=> OLD.id_change_set_user THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'New change Set ID must be provided.'; - END IF; - - INSERT INTO Shop_User_Basket_Audit ( - id_item, - name_field, - value_prev, - value_new, - id_change_set_user - ) - # Changed id_user - SELECT NEW.id_item, 'id_user', OLD.id_user, NEW.id_user, NEW.id_change_set_user - WHERE NOT OLD.id_user <=> NEW.id_user - UNION - # Changed id_product - SELECT NEW.id_item, 'id_product', OLD.id_product, NEW.id_product, NEW.id_change_set_user - WHERE NOT OLD.id_product <=> NEW.id_product - UNION - # Changed quantity - SELECT NEW.id_item, 'quantity', CONVERT(OLD.quantity, CHAR), CONVERT(NEW.quantity, CHAR), NEW.id_change_set_user - WHERE NOT (OLD.quantity <=> NEW.quantity) - UNION - # Changed active - SELECT NEW.id_item, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_user_basket_audit` --- - -DROP TABLE IF EXISTS `shop_user_basket_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_basket_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_item` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set_user` int DEFAULT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_User_Basket_Audit_id_link` (`id_item`), - KEY `FK_Shop_User_Basket_Audit_id_change_set_user` (`id_change_set_user`), - CONSTRAINT `FK_Shop_User_Basket_Audit_id_change_set_user` FOREIGN KEY (`id_change_set_user`) REFERENCES `shop_user_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Basket_Audit_id_link` FOREIGN KEY (`id_item`) REFERENCES `shop_user_basket` (`id_item`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_basket_audit` --- - -LOCK TABLES `shop_user_basket_audit` WRITE; -/*!40000 ALTER TABLE `shop_user_basket_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_user_basket_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_user_change_set` --- - -DROP TABLE IF EXISTS `shop_user_change_set`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_change_set` ( - `id_change_set` int NOT NULL AUTO_INCREMENT, - `comment` varchar(500) DEFAULT NULL, - `updated_last_on` datetime DEFAULT NULL, - `updated_last_by` varchar(100) DEFAULT NULL, - PRIMARY KEY (`id_change_set`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_change_set` --- - -LOCK TABLES `shop_user_change_set` WRITE; -/*!40000 ALTER TABLE `shop_user_change_set` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_user_change_set` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_user_order` --- - -DROP TABLE IF EXISTS `shop_user_order`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_order` ( - `id_order` int NOT NULL AUTO_INCREMENT, - `id_user` varchar(200) NOT NULL, - `value_total` float DEFAULT NULL, - `id_order_status` int NOT NULL, - `id_checkout_session` varchar(200) NOT NULL, - `id_currency` int NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set_user` int DEFAULT NULL, - PRIMARY KEY (`id_order`), - KEY `FK_Shop_User_Order_id_user` (`id_user`), - KEY `FK_Shop_User_Order_id_order_status` (`id_order_status`), - KEY `FK_Shop_User_Order_id_currency` (`id_currency`), - KEY `FK_Shop_User_Order_id_change_set_user` (`id_change_set_user`), - CONSTRAINT `FK_Shop_User_Order_id_change_set_user` FOREIGN KEY (`id_change_set_user`) REFERENCES `shop_user_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Order_id_currency` FOREIGN KEY (`id_currency`) REFERENCES `shop_currency` (`id_currency`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_User_Order_id_order_status` FOREIGN KEY (`id_order_status`) REFERENCES `shop_user_order_status` (`id_status`), - CONSTRAINT `FK_Shop_User_Order_id_user` FOREIGN KEY (`id_user`) REFERENCES `shop_user` (`id_user`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_order` --- - -LOCK TABLES `shop_user_order` WRITE; -/*!40000 ALTER TABLE `shop_user_order` DISABLE KEYS */; -INSERT INTO `shop_user_order` VALUES (1,'auth0|6582b95c895d09a70ba10fef',25,1,'noods',1,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(2,'auth0|6582b95c895d09a70ba10fef',25,1,'noods',1,_binary '','2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_user_order` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_user_order_audit` --- - -DROP TABLE IF EXISTS `shop_user_order_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_order_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_order` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set_user` int DEFAULT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_User_Order_Audit_id_order` (`id_order`), - KEY `FK_Shop_User_Order_Audit_id_change_set_user` (`id_change_set_user`), - CONSTRAINT `FK_Shop_User_Order_Audit_id_change_set_user` FOREIGN KEY (`id_change_set_user`) REFERENCES `shop_user_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Order_Audit_id_order` FOREIGN KEY (`id_order`) REFERENCES `shop_user_order` (`id_order`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_order_audit` --- - -LOCK TABLES `shop_user_order_audit` WRITE; -/*!40000 ALTER TABLE `shop_user_order_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_user_order_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_user_order_product_link` --- - -DROP TABLE IF EXISTS `shop_user_order_product_link`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_order_product_link` ( - `id_link` int NOT NULL AUTO_INCREMENT, - `id_order` int NOT NULL, - `id_product` int NOT NULL, - `id_permutation` int DEFAULT NULL, - `quantity` float NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_link`), - KEY `FK_Shop_User_Order_Product_Link_id_order` (`id_order`), - KEY `FK_Shop_User_Order_Product_Link_id_product` (`id_product`), - KEY `FK_Shop_User_Order_Product_Link_id_permutation` (`id_permutation`), - KEY `FK_Shop_User_Order_Product_Link_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Order_Product_Link_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Order_Product_Link_id_order` FOREIGN KEY (`id_order`) REFERENCES `shop_user_order` (`id_order`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_User_Order_Product_Link_id_permutation` FOREIGN KEY (`id_permutation`) REFERENCES `shop_product_permutation` (`id_permutation`) ON UPDATE RESTRICT, - CONSTRAINT `FK_Shop_User_Order_Product_Link_id_product` FOREIGN KEY (`id_product`) REFERENCES `shop_product` (`id_product`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_order_product_link` --- - -LOCK TABLES `shop_user_order_product_link` WRITE; -/*!40000 ALTER TABLE `shop_user_order_product_link` DISABLE KEYS */; -INSERT INTO `shop_user_order_product_link` VALUES (1,1,1,1,69,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(2,1,2,NULL,69,_binary '','2024-04-28 19:03:07','root@localhost',NULL),(3,1,1,2,69,_binary '','2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_user_order_product_link` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_user_order_product_link_audit` --- - -DROP TABLE IF EXISTS `shop_user_order_product_link_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_order_product_link_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_link` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_User_Order_Product_Link_Audit_id_link` (`id_link`), - KEY `FK_Shop_User_Order_Product_Link_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Order_Product_Link_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`), - 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 -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_order_product_link_audit` --- - -LOCK TABLES `shop_user_order_product_link_audit` WRITE; -/*!40000 ALTER TABLE `shop_user_order_product_link_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_user_order_product_link_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_user_order_status` --- - -DROP TABLE IF EXISTS `shop_user_order_status`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_order_status` ( - `id_status` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) DEFAULT NULL, - `name` varchar(255) DEFAULT NULL, - `name_plural` varchar(256) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_status`), - KEY `FK_Shop_User_Order_Status_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Order_Status_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`) -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_order_status` --- - -LOCK TABLES `shop_user_order_status` WRITE; -/*!40000 ALTER TABLE `shop_user_order_status` DISABLE KEYS */; -INSERT INTO `shop_user_order_status` VALUES (1,'SUCCESS','Success','Successes',_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,'FAIL','Failure','Failures',_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_user_order_status` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_User_Order_Status` BEFORE INSERT ON `shop_user_order_status` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_User_Order_Status` BEFORE UPDATE ON `shop_user_order_status` 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_Status_Audit ( - id_Status, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_Status, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_Status, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed name_plural - SELECT NEW.id_Status, 'name_plural', OLD.name_plural, NEW.name_plural, NEW.id_change_set - WHERE NOT OLD.name_plural <=> NEW.name_plural - UNION - # Changed active - SELECT NEW.id_Status, '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_Status, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_user_order_status_audit` --- - -DROP TABLE IF EXISTS `shop_user_order_status_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_order_status_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_status` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_User_Order_Status_Audit_id_status` (`id_status`), - KEY `FK_Shop_User_Order_Status_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Order_Status_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Order_Status_Audit_id_status` FOREIGN KEY (`id_status`) REFERENCES `shop_user_order_status` (`id_status`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_order_status_audit` --- - -LOCK TABLES `shop_user_order_status_audit` WRITE; -/*!40000 ALTER TABLE `shop_user_order_status_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_user_order_status_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_user_role_link` --- - -DROP TABLE IF EXISTS `shop_user_role_link`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_role_link` ( - `id_link` int NOT NULL AUTO_INCREMENT, - `id_user` varchar(200) NOT NULL, - `id_role` int NOT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_link`), - KEY `FK_Shop_User_Role_Link_id_user` (`id_user`), - KEY `FK_Shop_User_Role_Link_id_role` (`id_role`), - KEY `FK_Shop_User_Role_Link_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Role_Link_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Role_Link_id_role` FOREIGN KEY (`id_role`) REFERENCES `shop_role` (`id_role`), - CONSTRAINT `FK_Shop_User_Role_Link_id_user` FOREIGN KEY (`id_user`) REFERENCES `shop_user` (`id_user`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_role_link` --- - -LOCK TABLES `shop_user_role_link` WRITE; -/*!40000 ALTER TABLE `shop_user_role_link` DISABLE KEYS */; -INSERT INTO `shop_user_role_link` VALUES (1,'auth0|6582b95c895d09a70ba10fef',1,_binary '','2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_user_role_link` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_User_Role_Link` BEFORE UPDATE ON `shop_user_role_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_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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_user_role_link_audit` --- - -DROP TABLE IF EXISTS `shop_user_role_link_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_user_role_link_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_link` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_User_Role_Link_Audit_id_link` (`id_link`), - KEY `FK_Shop_User_Role_Link_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Role_Link_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_user_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_User_Role_Link_Audit_id_link` FOREIGN KEY (`id_link`) REFERENCES `shop_user_role_link` (`id_link`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_user_role_link_audit` --- - -LOCK TABLES `shop_user_role_link_audit` WRITE; -/*!40000 ALTER TABLE `shop_user_role_link_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_user_role_link_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_variation` --- - -DROP TABLE IF EXISTS `shop_variation`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_variation` ( - `id_variation` int NOT NULL AUTO_INCREMENT, - `id_type` int NOT NULL, - `code` varchar(50) DEFAULT NULL, - `name` varchar(255) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_variation`), - KEY `FK_Shop_Variation_id_type` (`id_type`), - KEY `FK_Shop_Variation_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Variation_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Variation_id_type` FOREIGN KEY (`id_type`) REFERENCES `shop_variation_type` (`id_type`) ON UPDATE RESTRICT -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_variation` --- - -LOCK TABLES `shop_variation` WRITE; -/*!40000 ALTER TABLE `shop_variation` DISABLE KEYS */; -INSERT INTO `shop_variation` VALUES (1,1,'RED','Red',_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL),(2,1,'BLUE','Blue',_binary '',2,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_variation` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Variation` BEFORE INSERT ON `shop_variation` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Variation` BEFORE UPDATE ON `shop_variation` 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_Variation_Audit ( - id_variation, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_variation, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_variation, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed active - SELECT NEW.id_variation, '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_variation, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_variation_audit` --- - -DROP TABLE IF EXISTS `shop_variation_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_variation_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_variation` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Variation_Audit_id_variation` (`id_variation`), - KEY `FK_Shop_Variation_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Variation_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Variation_Audit_id_variation` FOREIGN KEY (`id_variation`) REFERENCES `shop_variation` (`id_variation`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_variation_audit` --- - -LOCK TABLES `shop_variation_audit` WRITE; -/*!40000 ALTER TABLE `shop_variation_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_variation_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `shop_variation_type` --- - -DROP TABLE IF EXISTS `shop_variation_type`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_variation_type` ( - `id_type` int NOT NULL AUTO_INCREMENT, - `code` varchar(50) DEFAULT NULL, - `name` varchar(255) DEFAULT NULL, - `name_plural` varchar(256) DEFAULT NULL, - `active` bit(1) NOT NULL DEFAULT b'1', - `display_order` int NOT NULL, - `created_on` datetime DEFAULT NULL, - `created_by` varchar(100) DEFAULT NULL, - `id_change_set` int DEFAULT NULL, - PRIMARY KEY (`id_type`), - KEY `FK_Shop_Variation_Type_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Variation_Type_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_variation_type` --- - -LOCK TABLES `shop_variation_type` WRITE; -/*!40000 ALTER TABLE `shop_variation_type` DISABLE KEYS */; -INSERT INTO `shop_variation_type` VALUES (1,'COLOUR','Colour','Colours',_binary '',1,'2024-04-28 19:03:07','root@localhost',NULL); -/*!40000 ALTER TABLE `shop_variation_type` ENABLE KEYS */; -UNLOCK TABLES; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_insert_Shop_Variation_Type` BEFORE INSERT ON `shop_variation_type` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_Shop_Variation_Type` BEFORE UPDATE ON `shop_variation_type` 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_Variation_Type_Audit ( - id_type, - name_field, - value_prev, - value_new, - id_change_set - ) - # Changed code - SELECT NEW.id_type, 'code', OLD.code, NEW.code, NEW.id_change_set - WHERE NOT OLD.code <=> NEW.code - UNION - # Changed name - SELECT NEW.id_type, 'name', OLD.name, NEW.name, NEW.id_change_set - WHERE NOT OLD.name <=> NEW.name - UNION - # Changed name_plural - SELECT NEW.id_type, 'name_plural', OLD.name_plural, NEW.name_plural, NEW.id_change_set - WHERE NOT OLD.name_plural <=> NEW.name_plural - UNION - # Changed active - SELECT NEW.id_type, '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_type, '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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Table structure for table `shop_variation_type_audit` --- - -DROP TABLE IF EXISTS `shop_variation_type_audit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `shop_variation_type_audit` ( - `id_audit` int NOT NULL AUTO_INCREMENT, - `id_type` int NOT NULL, - `name_field` varchar(50) DEFAULT NULL, - `value_prev` varchar(500) DEFAULT NULL, - `value_new` varchar(500) DEFAULT NULL, - `id_change_set` int NOT NULL, - PRIMARY KEY (`id_audit`), - KEY `FK_Shop_Variation_Type_Audit_id_type` (`id_type`), - KEY `FK_Shop_Variation_Type_Audit_id_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Variation_Type_Audit_id_change_set` FOREIGN KEY (`id_change_set`) REFERENCES `shop_product_change_set` (`id_change_set`), - CONSTRAINT `FK_Shop_Variation_Type_Audit_id_type` FOREIGN KEY (`id_type`) REFERENCES `shop_variation_type` (`id_type`) ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `shop_variation_type_audit` --- - -LOCK TABLES `shop_variation_type_audit` WRITE; -/*!40000 ALTER TABLE `shop_variation_type_audit` DISABLE KEYS */; -/*!40000 ALTER TABLE `shop_variation_type_audit` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `tmp_msg_error` --- - -DROP TABLE IF EXISTS `tmp_msg_error`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `tmp_msg_error` ( - `display_order` int NOT NULL AUTO_INCREMENT, - `guid` varchar(36) NOT NULL, - `id_type` int NOT NULL, - `msg` varchar(4000) NOT NULL, - PRIMARY KEY (`display_order`), - KEY `FK_tmp_Msg_Error_id_type` (`id_type`), - CONSTRAINT `FK_tmp_Msg_Error_id_type` FOREIGN KEY (`id_type`) REFERENCES `shop_msg_error_type` (`id_type`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `tmp_msg_error` --- - -LOCK TABLES `tmp_msg_error` WRITE; -/*!40000 ALTER TABLE `tmp_msg_error` DISABLE KEYS */; -/*!40000 ALTER TABLE `tmp_msg_error` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping events for database 'partsltd_prod' --- - --- --- Dumping routines for database 'partsltd_prod' --- -/*!50003 DROP PROCEDURE IF EXISTS `p_shop_edit_user` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_edit_user`( - IN a_id_user INT, - IN a_name VARCHAR(255), - IN a_email VARCHAR(254), - IN a_email_verified BIT -) -BEGIN - -- Argument redeclaration - -- Variable declaration - DECLARE v_has_filter_user BIT; - -- DECLARE v_now DATETIME; - - - -- 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_name IS NULL THEN - SET a_name = ''; - ELSE - SET a_name = TRIM(a_name); - END IF; - IF a_email IS NULL THEN - SET a_email = ''; - ELSE - SET a_email = TRIM(a_email); - END IF; - IF a_email_verified IS NULL THEN - SET a_email_verified = 0; - END IF; - - -- Temporary tables - DROP TABLE IF EXISTS tmp_Msg_Error; - DROP TABLE IF EXISTS tmp_Shop_User; - - CREATE TABLE tmp_Shop_User ( - id_user INT NOT NULL, - CONSTRAINT FK_tmp_Shop_User_id_user - FOREIGN KEY (id_user) - REFERENCES Shop_User(id_user), - active BIT NOT NULL - ); - - CREATE TABLE tmp_Msg_Error ( - display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT, - id_type INT NOT NULL, - # code VARCHAR(50) NOT NULL, - # CONSTRAINT chk_tmp_Msg_Error_code CHECK (code IN (SELECT code FROM Shop_Msg_Error_Type)), - 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_has_filter_user = CASE WHEN a_id_user = '' THEN 0 ELSE 1 END; - - - -- User - 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 - ; - - IF NOT EXISTS (SELECT id_user FROM tmp_Shop_User LIMIT 1) THEN - INSERT INTO Shop_User ( - id_user, - name, - email, - email_verified - ) - VALUES ( - a_id_user, - a_name, - a_email, - a_email_verified - ); - - 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 - ; - END IF; - - SET a_id_user := (SELECT id_user FROM tmp_Shop_User LIMIT 1); - ELSE - INSERT INTO tmp_Msg_Error ( - id_type, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - 'No user ID provided.' - ) - ; - END IF; - - - /* - IF NOT EXISTS (SELECT msg FROM tmp_Msg_Error LIMIT 1) THEN - END IF; - */ - - - -- Returns - # User - SELECT * - FROM tmp_Shop_User - ; - - # Errors - SELECT * - FROM tmp_Msg_Error - ; - - /* - # Return arguments for test - SELECT a_id_user, - a_name, - a_email, - a_email_verified - ; - */ - - -- Clean up - DROP TABLE IF EXISTS tmp_Msg_Error; - DROP TABLE IF EXISTS tmp_Shop_User; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `p_shop_edit_user_basket` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_edit_user_basket`( - IN a_id_user INT, - IN a_ids_permutation_basket VARCHAR(4000), - IN a_quantities_permutation_basket VARCHAR(4000), - IN a_id_permutation_edit INT, - IN a_quantity_permutation_edit INT, - IN a_sum_not_edit BIT, - IN a_id_currency INT, - IN a_id_region_purchase INT -) -BEGIN - -- Argument redeclaration - -- Variable declaration - DECLARE v_has_filter_user BIT; - DECLARE v_has_filter_permutation_basket BIT; - DECLARE v_has_filter_permutation_edit BIT; - DECLARE v_has_filter_region BIT; - DECLARE v_has_filter_currency BIT; - DECLARE v_n_id_permutation_basket INT; - DECLARE v_n_quantity_permutation_basket INT; - DECLARE v_row_number INT; - DECLARE v_guid BINARY(36); - # DECLARE v_id_user VARCHAR(100); - DECLARE v_id_permission_product INT; - DECLARE v_ids_permutation_permission VARCHAR(4000); - DECLARE v_now DATETIME; - # DECLARE v_quantity_new INT; - DECLARE v_change_set_used BIT; - DECLARE v_id_change_set INT; - - 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_permutation_basket IS NULL THEN - SET a_ids_permutation_basket = ''; - ELSE - SET a_ids_permutation_basket = TRIM(a_ids_permutation_basket); - END IF; - IF a_quantities_permutation_basket IS NULL THEN - SET a_quantities_permutation_basket = ''; - ELSE - SET a_quantities_permutation_basket = TRIM(a_quantities_permutation_basket); - END IF; - IF a_sum_not_edit IS NULL THEN - SET a_sum_not_edit = 1; - END IF; - - -- Temporary tables - DROP TABLE IF EXISTS tmp_Msg_Error; - DROP TABLE IF EXISTS tmp_Shop_Basket; - DROP TEMPORARY TABLE IF EXISTS tmp_Shop_Quantity; - DROP TABLE IF EXISTS tmp_Shop_Product; - DROP TABLE IF EXISTS tmp_Shop_User; - - CREATE TABLE tmp_Shop_User ( - id_user INT NOT NULL, - CONSTRAINT FK_tmp_Shop_User_id_user - FOREIGN KEY (id_user) - REFERENCES Shop_User(id_user), - active BIT NOT NULL - ); - - 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 NOT NULL, - CONSTRAINT FK_tmp_Shop_Product_id_permutation - FOREIGN KEY (id_permutation) - REFERENCES Shop_Product_Permutation(id_permutation), - display_order INT NOT NULL, - active INT NOT NULL DEFAULT 1 - ); - - CREATE TEMPORARY TABLE tmp_Shop_Quantity( - quantity INT NOT NULL, - display_order INT NOT NULL, - active INT NOT NULL DEFAULT 1 - ); - - CREATE TABLE tmp_Shop_Basket ( - id_category INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Basket_id_category - FOREIGN KEY (id_category) - REFERENCES Shop_Product_Category(id_category), - id_product INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Basket_id_product - FOREIGN KEY (id_product) - REFERENCES Shop_Product(id_product), - id_permutation INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Basket_id_permutation - FOREIGN KEY (id_permutation) - REFERENCES Shop_Product_Permutation(id_permutation), - id_region_purchase INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Basket_id_region_purchase - FOREIGN KEY (id_region_purchase) - REFERENCES Shop_Region(id_region), - id_currency INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Basket_id_currency - FOREIGN KEY (id_currency) - REFERENCES Shop_Currency(id_currency), - quantity INT NOT NULL, - active BIT NOT NULL DEFAULT 1 - /* - display_order_category INT NOT NULL, - display_order_product 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, - id_type INT NOT NULL, - # code VARCHAR(50) NOT NULL, - # CONSTRAINT chk_tmp_Msg_Error_code CHECK (code IN (SELECT code FROM Shop_Msg_Error_Type)), - 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_has_filter_user = NOT (a_id_user = ''); - SET v_has_filter_permutation_basket = NOT (a_ids_permutation_basket = ''); - SET v_has_filter_permutation_edit = NOT ISNULL(a_id_permutation_edit); - SET v_has_filter_currency = NOT ISNULL(a_id_currency); - SET v_has_filter_region = NOT ISNULL(a_id_region_purchase); - # SET v_quantity_new = CASE WHEN a_sum_not_edit THEN quantity + a_quantity_product_edit ELSE a_quantity_product_edit END; - /* - SELECT v_has_filter_user, v_has_filter_basket - ; - - */ - - -- Currency - IF NOT v_has_filter_currency THEN - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - 'Currency ID not provided.' - ) - ; - END IF; - IF v_has_filter_currency AND NOT EXISTS ( SELECT * FROM Shop_Currency WHERE id_currency = a_id_currency) THEN - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - CONCAT('Currency ID not found: ', a_id_currency, '.') - ) - ; - END IF; - - -- Region - IF NOT v_has_filter_region THEN - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - 'Region ID not provided.' - ) - ; - END IF; - IF v_has_filter_region AND NOT EXISTS ( SELECT * FROM Shop_Region WHERE id_region = a_id_region_purchase) THEN - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - CONCAT('Region ID not found: ', a_id_region_purchase, '.') - ) - ; - END IF; - - -- User - 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 - ; - - IF NOT EXISTS (SELECT id_user FROM tmp_Shop_User LIMIT 1) THEN - SET v_has_filter_user = 0; - - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - CONCAT('User ID not found: ', a_id_user, '.') - ) - ; - END IF; - - SET a_id_user := (SELECT id_user FROM tmp_Shop_User LIMIT 1); - END IF; - - IF v_has_filter_user AND NOT EXISTS (SELECT msg FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - SET v_change_set_used = 0; - INSERT INTO Shop_User_Change_Set ( - comment - ) - VALUES ( - 'edit basket' - ); - SET v_id_change_set := (SELECT id_change_set FROM Shop_User_Change_Set ORDER BY id_change_set DESC LIMIT 1); - END IF; - - -- Get basket - -- User - IF v_has_filter_user AND NOT EXISTS (SELECT msg FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - INSERT INTO tmp_Shop_Basket ( - id_category, - id_product, - id_permutation, - id_region_purchase, - id_currency, - quantity, - active - /* - display_order_category, - display_order_product - */ - ) - SELECT - C.id_category, - UB.id_product, - UB.id_permutation, - UB.id_region_purchase, - UB.id_currency, - UB.quantity, - UB.active - /* - C.display_order, - P.display_order - */ - FROM Shop_User_Basket UB - /* - INNER JOIN tmp_Shop_User t_U - ON UB.id_user = t_U.id_user - */ - INNER JOIN Shop_Product_Permutation PP - ON UB.id_product = PP.id_product - AND PP.active - INNER JOIN Shop_Product P - ON PP.id_product = P.id_product - AND P.active - INNER JOIN Shop_Product_Category C - ON P.id_category = C.id_category - AND C.active - WHERE UB.id_user = a_id_user - ; - END IF; - - -- Currency - IF EXISTS (SELECT * FROM tmp_Shop_Basket WHERE active LIMIT 1) - AND NOT EXISTS (SELECT msg FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - IF EXISTS (SELECT * FROM tmp_Shop_Basket WHERE active AND id_currency != a_id_currency) THEN - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - CONCAT( - 'Currency ID does not match currency of other items in basket. Basket currency: ', - (SELECT code FROM Shop_Currency WHERE id_currency = ( - SELECT - id_currency - FROM tmp_Shop_Basket - WHERE active - AND id_currency != a_id_currency - LIMIT 1 - )), - ', new currency: ', - (SELECT code FROM Shop_Currency WHERE id_currency = a_id_currency), - '.' - ) - ) - ; - END IF; - END IF; - - -- Region - IF EXISTS (SELECT * FROM tmp_Shop_Basket WHERE active LIMIT 1) - AND NOT EXISTS (SELECT msg FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - IF EXISTS ( - SELECT * - FROM tmp_Shop_Basket - WHERE - active - AND id_region_purchase != a_id_region_purchase - ) THEN - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - CONCAT('Purchase region ID does not match region of other items in basket. Basket currency: ', - (SELECT code FROM Shop_Region WHERE id_region = ( - SELECT - id_region_purchase - FROM tmp_Shop_Basket - WHERE active - AND id_region != a_id_region_purchase - LIMIT 1 - )), - ', new currency: ', - (SELECT code FROM Shop_Region WHERE id_region = a_id_region_purchase), - '.' - ) - ) - ; - END IF; - END IF; - - -- String product id, permutation id, quantity list - IF NOT EXISTS (SELECT * FROM tmp_Shop_Basket WHERE active LIMIT 1) AND NOT EXISTS (SELECT msg FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN -- NOT v_has_filter_user AND - # Get product ids - CALL p_split(a_ids_permutation_basket, ','); - INSERT INTO tmp_Shop_Product ( - id_product, id_permutation, display_order - ) - SELECT PP.id_product, ST.substring, ST.display_order - FROM Split_Temp ST - INNER JOIN Shop_Product_Permutation PP - ON ST.substring = PP.id_permutation - -- AND PP.active - ; - /* - SELECT substring as id_product, display_order - FROM Split_Temp - ; - */ - DROP TABLE Split_Temp; - - # Get product quantities - CALL p_split(a_quantities_permutation_basket, ','); - INSERT INTO tmp_Shop_Quantity ( - quantity, display_order - ) - SELECT substring, display_order - FROM Split_Temp - ; - /* - SELECT substring AS quantity_product, display_order - FROM Split_Temp - ; - */ - DROP TABLE Split_Temp; - - # Compare number of product ids to number of quantities - SET v_n_id_permutation_basket := (SELECT display_order FROM tmp_Shop_Product ORDER BY display_order DESC LIMIT 1); - SET v_n_quantity_permutation_basket := (SELECT display_order FROM tmp_Shop_Quantity ORDER BY display_order DESC LIMIT 1); - IF NOT v_n_id_permutation_basket = v_n_quantity_permutation_basket THEN - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - CONCAT('Number of permutations (', v_n_id_permutation_basket, ') does not equal number of quantities (', v_n_quantity_permutation_basket, ') for basket.') - ) - ; - ELSE - INSERT INTO tmp_Shop_Basket ( - id_category, - id_product, - id_permutation, - id_region_purchase, - id_currency, - quantity - ) - SELECT - C.id_category, - P.id_product, - t_P.id_permutation, - a_id_region_purchase, - a_id_currency, - t_Q.quantity - FROM tmp_Shop_Product t_P - INNER JOIN tmp_Shop_Quantity t_Q - ON t_P.display_order = t_Q.display_order - 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 - AND P.active - INNER JOIN Shop_Product_Category C - ON P.id_category = C.id_category - AND C.active - -- RIGHT JOIN tmp_Shop_Basket t_UB ON ISNULL(t_UB.id_product) - -- WHERE t_P.id_product NOT IN (SELECT id_product FROM tmp_Shop_Basket) - ; - - /* - IF EXISTS( - SELECT * - FROM Shop_Product P - INNER JOIN Shop_Product_Category C - ON P.id_category = C.id_category - INNER JOIN tmp_Shop_Basket t_B - ON P.id_product = t_B.id_product - WHERE C.active = 0 OR P.active = 0 LIMIT 1 - ) THEN - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - CONCAT('No valid product IDs in list: ', a_ids_permutation_basket, '.') - ) - ; - END IF; - */ - END IF; - END IF; - - /* - select v_has_filter_edit; - select * from tmp_Shop_Basket; - select * from tmp_Msg_Error; - */ - - - # Edit basket product - IF v_has_filter_permutation_edit AND NOT EXISTS (SELECT msg FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - IF EXISTS ( - SELECT * - FROM Shop_Product_Permutation PP - INNER JOIN Shop_Product P - ON PP.id_product = P.id_product - INNER JOIN Shop_Product_Category C - ON P.id_category = C.id_category - WHERE - ( - C.active = 0 - OR P.active = 0 - OR PP.active = 0 - ) - AND PP.id_permutation = a_id_permutation_edit - LIMIT 1 - ) THEN - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - CONCAT('Invalid product ID to edit: ', a_id_product_edit, '.') - ) - ; - END IF; - END IF; - IF v_has_filter_permutation_edit AND NOT EXISTS (SELECT msg FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - IF EXISTS ( - SELECT * - FROM tmp_Shop_Basket - WHERE - id_permutation = a_id_permutation_edit - ) THEN - UPDATE tmp_Shop_Basket - SET quantity = CASE WHEN a_sum_not_edit = 1 THEN IFNULL(quantity, 0) + a_quantity_permutation_edit ELSE a_quantity_permutation_edit END, - active = CASE WHEN CASE WHEN a_sum_not_edit = 1 THEN IFNULL(quantity, 0) + a_quantity_permutation_edit ELSE a_quantity_permutation_edit END = 0 THEN 0 ELSE 1 END - WHERE id_permutation = a_id_permutation_edit - ; - - IF EXISTS ( - SELECT * - FROM tmp_Shop_Basket t_B - WHERE t_B.quantity < 0 - ) THEN - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - 'Invalid basket quantity.' - ) - ; - END IF; - - IF v_has_filter_user AND NOT EXISTS (SELECT msg FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - SET v_change_set_used = 1; - - UPDATE Shop_User_Basket UB - INNER JOIN tmp_Shop_Basket t_UB - ON UB.id_permutation = a_id_permutation_edit - SET UB.quantity = t_UB.quantity, - UB.active = t_UB.active, - UB.id_change_set_user = v_id_change_set - WHERE UB.id_permutation = a_id_permutation_edit - AND id_user = a_id_user - ; - END IF; - ELSE - IF a_quantity_permutation_edit < 0 THEN - INSERT INTO tmp_Msg_Error ( - id_type, - guid, - msg - ) - VALUES ( - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'BAD_DATA' LIMIT 1), - v_guid, - 'Invalid basket quantity.' - ) - ; - ELSE - INSERT INTO tmp_Shop_Basket ( - id_category, - id_product, - id_permutation, - id_region_purchase, - id_currency, - quantity, - active - ) - SELECT - P.id_category, - P.id_product, - PP.id_permutation, - a_id_region_purchase, - a_id_currency, - a_quantity_permutation_edit, - CASE WHEN a_quantity_permutation_edit > 0 THEN 1 ELSE 0 END - FROM Shop_Product_Permutation PP - INNER JOIN Shop_Product P - ON PP.id_product = P.id_product - WHERE id_permutation = a_id_permutation_edit - ; - IF v_has_filter_user THEN - IF EXISTS ( - SELECT * - FROM Shop_User_Basket UB - WHERE - UB.id_permutation = a_id_permutation_edit - ) THEN - SET v_change_set_used = 1; - - UPDATE Shop_User_Basket - INNER JOIN tmp_Shop_Basket t_UB ON UB.id_permutation = t_UB.id_permutation - SET UB.quantity = t_UB.quantity, - UB.active = t_UB.active, - UB.id_change_set_user = v_id_change_set - WHERE UB.id_permutation = a_id_permutation_edit - AND id_user = a_id_user - ; - ELSE - INSERT INTO Shop_User_Basket ( - id_user, - id_product, - id_permutation, - id_region_purchase, - id_currency, - quantity, - active - ) - SELECT a_id_user, - t_UB.id_product, - t_UB.id_permutation, - t_UB.id_region_purchase, - t_UB.id_currency, - t_UB.quantity, - t_UB.active - FROM tmp_Shop_Basket t_UB - WHERE id_permutation = a_id_permutation_edit - ; - END IF; - END IF; - END IF; - END IF; - END IF; - - - -- Checks - /* - SELECT * FROM tmp_Shop_Basket; - SELECT - GROUP_CONCAT(t_UB.id_product SEPARATOR ',') AS basket_product_ids - FROM tmp_Shop_Basket t_UB - -- WHERE ISNULL(t_UB.id_permutation) - ; - SELECT - GROUP_CONCAT(t_UB.id_permutation SEPARATOR ',') AS basket_permutation_ids - FROM tmp_Shop_Basket t_UB - WHERE NOT ISNULL(t_UB.id_permutation) - ; - */ - -- Returns - CALL p_shop_get_many_product ( - a_id_user, # a_id_user - 1, # a_get_all_categories - '', # a_ids_category - 0, # a_get_inactive_categories - 0, # a_get_all_products - ( - SELECT - GROUP_CONCAT(t_B.id_product SEPARATOR ',') - FROM tmp_Shop_Basket t_B - WHERE active = 1 - ), # a_ids_product - 0, # a_get_inactive_products - 0, # a_get_first_product_only - 0, # a_get_all_product_permutations - ( - SELECT - GROUP_CONCAT(t_B.id_permutation SEPARATOR ',') - FROM tmp_Shop_Basket t_B - WHERE NOT ISNULL(t_B.id_permutation) - AND active = 1 - ), # a_ids_permutation - 0, # a_get_inactive_permutations - 0, # a_get_all_images - '', # a_ids_image - 0, # a_get_inactive_images - 1, # a_get_first_image_only - 0, # a_get_all_delivery_region - a_id_region_purchase, # a_ids_delivery_region - 0, # a_get_inactive_delivery_region - 0, # a_get_all_currency - a_id_currency, # a_ids_currency - 0, # a_get_inactive_currency - 1, # a_get_all_discount - '', # a_ids_discount - 0 # a_get_inactive_discount - ); - - # Basket - SELECT t_UB.id_category, - t_UB.id_product, - t_UB.id_permutation, - P.name, - PCL.price_local_VAT_incl, - PCL.price_local_VAT_excl, - PCL.id_currency, - t_UB.quantity - FROM tmp_Shop_Basket t_UB - INNER JOIN Shop_Product_Permutation PP - ON t_UB.id_permutation = PP.id_permutation - INNER JOIN Shop_Product P - ON PP.id_product = P.id_product - INNER JOIN Shop_Product_Category C - ON P.id_category = C.id_category - INNER JOIN Shop_Product_Currency_Link PCL - ON PP.id_permutation = PCL.id_permutation - AND PCL.id_region_purchase = a_id_region_purchase - AND PCL.id_currency = a_id_currency - WHERE t_UB.active = 1 - ORDER BY C.display_order, P.display_order - ; - - # Errors - /* Completed by product get many */ - SELECT - t_ME.display_order, - t_ME.guid, - t_ME.id_type, - t_ME.msg, - MET.code, - MET.name, - MET.description - FROM tmp_Msg_Error t_ME - INNER JOIN Shop_Msg_Error_Type MET - ON t_ME.id_type = MET.id_type - 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 - IF NOT v_change_set_used THEN - DELETE FROM Shop_User_Change_Set - WHERE id_change_set = v_id_change_set - ; - END IF; - - # DROP TABLE IF EXISTS tmp_Msg_Error; - DELETE FROM tmp_Msg_Error WHERE guid = v_guid; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error) THEN - DROP TABLE tmp_Msg_Error; - END IF; - DROP TABLE IF EXISTS tmp_Shop_Basket; - DROP TEMPORARY TABLE IF EXISTS tmp_Shop_Quantity; - DROP TABLE IF EXISTS tmp_Shop_Product; - DROP TABLE IF EXISTS tmp_Shop_User; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `p_shop_get_many_currency` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_get_many_currency`( - IN a_get_inactive_currency BIT -) -BEGIN - IF a_get_inactive_currency IS NULL THEN - SET a_get_inactive_currency = 0; - END IF; - - SELECT - C.id_currency, - C.code, - C.name, - C.factor_from_GBP, - C.active, - C.display_order - FROM Shop_Currency C - WHERE a_get_inactive_currency - OR C.active - ORDER BY C.display_order - ; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `p_shop_get_many_product` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_get_many_product`( - IN a_id_user INT, - IN a_get_all_category BIT, - IN a_ids_category VARCHAR(500), - IN a_get_inactive_category BIT, - IN a_get_all_product BIT, - IN a_ids_product VARCHAR(500), - IN a_get_inactive_product BIT, - IN a_get_first_product_only BIT, - IN a_get_all_product_permutation BIT, - IN a_ids_permutation VARCHAR(4000), - IN a_get_inactive_permutation BIT, - IN a_get_all_image BIT, - IN a_ids_image VARCHAR(4000), - IN a_get_inactive_image BIT, - IN a_get_first_image_only BIT, - IN a_get_all_delivery_region BIT, - IN a_ids_delivery_region VARCHAR(4000), - IN a_get_inactive_delivery_region BIT, - IN a_get_all_currency BIT, - IN a_ids_currency VARCHAR(4000), - IN a_get_inactive_currency BIT, - IN a_get_all_discount BIT, - IN a_ids_discount VARCHAR(4000), - IN a_get_inactive_discount BIT -) -BEGIN - -- Argument redeclaration - -- Variable declaration - DECLARE v_has_filter_category BIT; - DECLARE v_has_filter_product BIT; - DECLARE v_has_filter_permutation BIT; - DECLARE v_has_filter_image BIT; - DECLARE v_has_filter_delivery_region BIT; - DECLARE v_has_filter_currency BIT; - DECLARE v_has_filter_discount BIT; - DECLARE v_guid BINARY(36); - # DECLARE v_id_user VARCHAR(100); - DECLARE v_ids_permutation_unavailable VARCHAR(4000); - DECLARE v_id_permission_product INT; - DECLARE v_ids_product_permission VARCHAR(4000); - DECLARE v_ids_permutation_permission VARCHAR(4000); - DECLARE v_id_access_level_view INT; - DECLARE v_now DATETIME; - DECLARE v_id_minimum INT; - - SET v_guid := UUID(); - 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_get_all_category IS NULL THEN - SET a_get_all_category = 0; - END IF; - IF a_ids_category IS NULL THEN - SET a_ids_category = ''; - ELSE - SET a_ids_category = REPLACE(TRIM(a_ids_category), '|', ','); - END IF; - IF a_get_inactive_category IS NULL THEN - SET a_get_inactive_category = 0; - END IF; - IF a_ids_product IS NULL THEN - SET a_ids_product = ''; - ELSE - SET a_ids_product = REPLACE(TRIM(a_ids_product), '|', ','); - END IF; - IF a_get_inactive_product IS NULL THEN - SET a_get_inactive_product = 0; - END IF; - IF a_get_first_product_only IS NULL THEN - SET a_get_first_product_only = 1; - END IF; - IF a_get_all_product IS NULL THEN - SET a_get_all_product = 0; - END IF; - IF a_ids_permutation IS NULL THEN - SET a_ids_permutation = ''; - ELSE - SET a_ids_permutation = REPLACE(TRIM(a_ids_permutation), '|', ','); - END IF; - IF a_get_inactive_permutation IS NULL THEN - SET a_get_inactive_permutation = 0; - END IF; - IF a_get_all_image IS NULL THEN - SET a_get_all_image = 1; - END IF; - IF a_ids_image IS NULL THEN - SET a_ids_image = ''; - ELSE - SET a_ids_image = REPLACE(TRIM(a_ids_image), '|', ','); - END IF; - IF a_get_inactive_image IS NULL THEN - SET a_get_inactive_image = 0; - END IF; - IF a_get_first_image_only IS NULL THEN - SET a_get_first_image_only = 0; - END IF; - IF a_get_inactive_image IS NULL THEN - SET a_get_inactive_image = 0; - END IF; - IF a_get_all_delivery_region IS NULL THEN - SET a_get_all_delivery_region = 1; - END IF; - IF a_ids_delivery_region IS NULL THEN - SET a_ids_delivery_region = ''; - ELSE - SET a_ids_delivery_region = REPLACE(TRIM(a_ids_delivery_region), '|', ','); - END IF; - IF a_get_inactive_delivery_region IS NULL THEN - SET a_get_inactive_delivery_region = 0; - END IF; - IF a_get_all_currency IS NULL THEN - SET a_get_all_currency = 1; - END IF; - IF a_ids_currency IS NULL THEN - SET a_ids_currency = ''; - ELSE - SET a_ids_currency = REPLACE(TRIM(a_ids_currency), '|', ','); - END IF; - IF a_get_inactive_currency IS NULL THEN - SET a_get_inactive_currency = 0; - END IF; - IF a_get_all_discount IS NULL THEN - SET a_get_all_discount = 1; - END IF; - IF a_ids_discount IS NULL THEN - SET a_ids_discount = ''; - ELSE - SET a_ids_discount = REPLACE(TRIM(a_ids_discount), '|', ','); - END IF; - IF a_get_inactive_discount IS NULL THEN - SET a_get_inactive_discount = 0; - END IF; - - /* - SELECT a_id_user, a_get_all_category, a_ids_category, a_get_inactive_category, a_get_all_product, - a_ids_product, a_get_inactive_product, a_get_first_product_only, a_get_all_product_permutation, a_ids_permutation, - a_get_inactive_permutation, a_get_all_image, a_ids_image, a_get_inactive_image, a_get_first_image_only, - a_get_all_delivery_region, a_ids_delivery_region, a_get_inactive_delivery_region, a_get_all_currency, a_ids_currency, - a_get_inactive_currency, a_get_all_discount, a_ids_discount, a_get_inactive_discount - ; - */ - - -- Temporary tables - DROP TABLE IF EXISTS tmp_Discount; - DROP TABLE IF EXISTS tmp_Currency; - DROP TABLE IF EXISTS tmp_Delivery_Region; - DROP TABLE IF EXISTS tmp_Shop_Image; - DROP TABLE IF EXISTS tmp_Shop_Variation; - DROP TABLE IF EXISTS tmp_Shop_Product; - DROP TABLE IF EXISTS tmp_Shop_Product_Category; - - CREATE TABLE tmp_Shop_Product_Category ( - id_category INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Product_Category_id_category - FOREIGN KEY (id_category) - REFERENCES Shop_Product_Category(id_category), - active BIT NOT NULL, - display_order INT NOT NULL, - can_view BIT, - can_edit BIT, - can_admin BIT - ); - - CREATE TABLE tmp_Shop_Product ( - id_category INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Product_id_category - FOREIGN KEY (id_category) - REFERENCES Shop_Product_Category(id_category), - id_product INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Product_id_product - FOREIGN KEY (id_product) - REFERENCES Shop_Product(id_product), - -- product_has_variations BIT NOT NULL, - id_permutation INT NULL, - CONSTRAINT FK_tmp_Shop_Product_id_permutation - FOREIGN KEY (id_permutation) - REFERENCES Shop_Product_Permutation(id_permutation), - active_category BIT NOT NULL, - active_product BIT NOT NULL, - active_permutation BIT NULL, - display_order_category INT NOT NULL, - display_order_product INT NOT NULL, - display_order_permutation INT NULL, - rank_permutation INT NOT NULL, # _in_category - name VARCHAR(255) NOT NULL, - description VARCHAR(4000) NOT NULL, - /* - price_GBP_full FLOAT NOT NULL, - price_GBP_min FLOAT NOT NULL, - */ - latency_manufacture INT NOT NULL, - quantity_min FLOAT NOT NULL, - quantity_max FLOAT NOT NULL, - quantity_step FLOAT NOT NULL, - quantity_stock FLOAT NOT NULL, - is_subscription BIT NOT NULL, - id_unit_measurement_interval_recurrence INT, - CONSTRAINT FK_tmp_Shop_Product_id_unit_measurement_interval_recurrence - FOREIGN KEY (id_unit_measurement_interval_recurrence) - REFERENCES Shop_Interval_Recurrence(id_interval), - count_interval_recurrence INT, - id_stripe_product VARCHAR(100), - product_has_variations INT NOT NULL, - 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_image INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Image_id_image - FOREIGN KEY (id_image) - REFERENCES Shop_Image(id_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), - active BIT NOT NULL, - display_order INT NOT NULL, - rank_in_product_permutation INT NOT NULL - ); - - CREATE TABLE tmp_Delivery_Region ( - id_region INT NOT NULL, - CONSTRAINT FK_tmp_Delivery_Region_id_region - FOREIGN KEY (id_region) - REFERENCES Shop_Region(id_region), - active BIT NOT NULL, - display_order INT NOT NULL, - requires_delivery_option BIT NOT NULL DEFAULT 0 - ); - - CREATE TABLE tmp_Currency ( - id_currency INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Currency_id_currency - FOREIGN KEY (id_currency) - REFERENCES Shop_Currency(id_currency), - active BIT NOT NULL, - display_order INT NOT NULL - ); - - CREATE TABLE tmp_Discount ( - id_discount INT NOT NULL, - CONSTRAINT FK_tmp_Discount_id_discount - FOREIGN KEY (id_discount) - REFERENCES Shop_Discount(id_discount), - active BIT NOT NULL, - display_order INT NOT NULL - ); - - CREATE TABLE IF NOT EXISTS tmp_Msg_Error ( # IF NOT EXISTS - 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_has_filter_category = CASE WHEN a_ids_category = '' THEN 0 ELSE 1 END; - SET v_has_filter_product = CASE WHEN a_ids_product = '' THEN 0 ELSE 1 END; - SET v_has_filter_permutation = CASE WHEN a_ids_permutation = '' THEN 0 ELSE 1 END; - SET v_has_filter_image = CASE WHEN a_ids_image = '' THEN 0 ELSE 1 END; - SET v_has_filter_delivery_region = CASE WHEN a_ids_delivery_region = '' THEN 0 ELSE 1 END; - SET v_has_filter_currency = CASE WHEN a_ids_currency = '' THEN 0 ELSE 1 END; - SET v_has_filter_discount = CASE WHEN a_ids_discount = '' THEN 0 ELSE 1 END; - - -- select v_has_filter_product, v_has_filter_permutation; - - INSERT INTO tmp_Shop_Product ( - id_category, - id_product, - id_permutation, - active_category, - active_product, - active_permutation, - display_order_category, - display_order_product, - display_order_permutation, - rank_permutation, - name, - description, - /* - price_GBP_VAT_incl, - price_GBP_VAT_excl, - price_GBP_min, - */ - latency_manufacture, - quantity_min, - quantity_max, - quantity_step, - quantity_stock, - is_subscription, - id_unit_measurement_interval_recurrence, - count_interval_recurrence, - id_stripe_product, - product_has_variations - ) - SELECT - P.id_category, - P.id_product, - -- P.has_variations AS product_has_variations, - PP.id_permutation, - C.active AS active_category, - P.active AS active_product, - PP.active AS active_permutation, - C.display_order AS display_order_category, - P.display_order AS display_order_product, - PP.display_order AS display_order_permutation, - RANK() OVER (ORDER BY C.display_order, P.display_order, PP.display_order) AS rank_permutation, #PARTITION BY P.id_category # _in_category - P.name, - PP.description, - /* - PP.price_GBP_VAT_incl, - PP.price_GBP_VAT_excl, - PP.price_GBP_min, - */ - PP.latency_manufacture, - PP.quantity_min, - PP.quantity_max, - PP.quantity_step, - PP.quantity_stock, - PP.is_subscription, - PP.id_unit_measurement_interval_recurrence, - PP.count_interval_recurrence, - PP.id_stripe_product, - P.has_variations - FROM Shop_Product P - INNER JOIN Shop_Product_Permutation PP - ON P.id_product = PP.id_product - INNER JOIN Shop_Product_Category C - ON P.id_category = C.id_category - WHERE - # permutations - ( - ( - a_get_all_product_permutation - OR v_has_filter_permutation AND FIND_IN_SET(PP.id_permutation, a_ids_permutation) > 0 - ) - AND (a_get_inactive_permutation OR PP.active) - ) - # categories - AND ( - ( - a_get_all_category - OR v_has_filter_category AND FIND_IN_SET(P.id_category, a_ids_category) > 0 - ) - AND (a_get_inactive_category OR C.active) - ) - # products - AND ( - ( - a_get_all_product - OR v_has_filter_product AND FIND_IN_SET(P.id_product, a_ids_product) > 0 - ) - AND (a_get_inactive_product OR P.active) - ) - ; - - -- select * from tmp_Shop_Product; - - IF a_get_first_product_only THEN - DELETE FROM tmp_Shop_Product t_P - WHERE t_P.rank_permutation > 1 - ; - END IF; - - INSERT INTO tmp_Shop_Product_Category ( - id_category, - active, - display_order - ) - SELECT DISTINCT C.id_category, - C.active, - 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 - ; - - /* - INSERT INTO tmp_Shop_Variation ( - id_variation, id_product # , display_order - ) - SELECT P.id_variation, P.id_product # , P.display_order - FROM Shop_Variation V - INNER JOIN tmp_Shop_Product t_P - ON V.id_product = t_P.id_product - WHERE V.active; - */ - - # Product Images - INSERT INTO tmp_Shop_Image ( - id_product, - id_permutation, - id_image, - active, - display_order, - rank_in_product_permutation - ) - SELECT id_product, - id_permutation, - id_image, - active, - ROW_NUMBER() OVER (ORDER BY display_order_product_temp, display_order_image), - RANK() OVER (PARTITION BY id_product, id_permutation ORDER BY display_order_product_temp, display_order_image) - FROM ( - SELECT t_P.id_product, - I.id_permutation, - I.id_image, - I.active, - I.display_order AS display_order_image, - t_P.rank_permutation AS display_order_product_temp - FROM Shop_Image I - INNER JOIN tmp_Shop_Product t_P - ON I.id_product = t_P.id_product - AND NOT t_P.product_has_variations - UNION - SELECT t_P.id_product, - I.id_permutation, - I.id_image, - I.active, - I.display_order AS display_order_image, - t_P.rank_permutation AS display_order_product_temp - FROM Shop_Image I - INNER JOIN tmp_Shop_Product t_P - ON I.id_permutation = t_P.id_permutation - AND t_P.product_has_variations - ) IPP - WHERE (a_get_all_image OR a_get_first_image_only OR FIND_IN_SET(id_image, a_ids_image) > 0) - AND (a_get_inactive_image OR IPP.active) - ; - - IF a_get_first_image_only THEN - DELETE FROM tmp_Shop_Image - WHERE rank_in_product_permutation > 1 - ; - END IF; - - /* - IF v_has_filter_image THEN - DELETE FROM tmp_Shop_Product - WHERE id_product NOT IN (SELECT DISTINCT id_product FROM tmp_Shop_Image); - DELETE FROM tmp_Shop_Product_Category - WHERE id_category NOT IN (SELECT DISTINCT id_category FROM tmp_Shop_Product); - END IF; - */ - - # Delivery Regions - INSERT INTO tmp_Delivery_Region ( - id_region, - active, - display_order, - requires_delivery_option - ) - WITH RECURSIVE Recursive_CTE_Delivery_Region AS ( - SELECT - DR.id_region AS id_region_parent, - NULL AS id_region_child, - CASE WHEN FIND_IN_SET(DR.id_region, a_ids_delivery_region) > 0 THEN 1 ELSE 0 END AS requires_delivery_option - FROM Shop_Product_Currency_Region_Link PCRL - INNER JOIN Shop_Currency C ON PCRL.id_currency = C.id_currency - INNER JOIN tmp_Shop_Product t_P - ON PCRL.id_product <=> t_P.id_product - AND PCRL.id_permutation <=> t_P.id_permutation - INNER JOIN Shop_Region DR ON PCRL.id_region_purchase = DR.id_region - WHERE - ( - a_get_all_delivery_region - OR FIND_IN_SET(DR.id_region, a_ids_delivery_region) > 0 - ) - AND ( - a_get_inactive_delivery_region - OR DR.active = 1 - ) - UNION - SELECT - DRB.id_region_parent, - DRB.id_region_child, - 0 AS requires_delivery_option - FROM Shop_Region_Branch DRB - INNER JOIN Recursive_CTE_Delivery_Region r_DR - ON DRB.id_region_parent = r_DR.id_region_child - AND ( - a_get_inactive_delivery_region - OR DRB.active = 1 - ) - ) - SELECT - DR.id_region, - DR.active, - DR.display_order, - requires_delivery_option - FROM Shop_Region DR - INNER JOIN Recursive_CTE_Delivery_Region r_DR - ON DR.id_region = r_DR.id_region_parent - OR DR.id_region = r_DR.id_region_child - ; - /* - select * from tmp_delivery_region; - SELECT * - FROM tmp_Shop_Product t_P - WHERE - /*( - a_get_all_category - OR a_get_all_product - OR a_get_all_product_permutation - )* - FIND_IN_SET(t_P.id_category, a_ids_category) > 0 - OR FIND_IN_SET(t_P.id_product, a_ids_product) > 0 - OR FIND_IN_SET(t_P.id_permutation, a_ids_permutation) > 0 - ; - */ - - IF v_has_filter_delivery_region THEN - SET v_ids_permutation_unavailable = ( - SELECT GROUP_CONCAT(t_P.id_permutation SEPARATOR ', ') - FROM ( - SELECT * - FROM tmp_Shop_Product t_P - WHERE - /*( - a_get_all_category - OR a_get_all_produc - OR a_get_all_product_permutation - )*/ - FIND_IN_SET(t_P.id_category, a_ids_category) > 0 - OR FIND_IN_SET(t_P.id_product, a_ids_product) > 0 - OR FIND_IN_SET(t_P.id_permutation, a_ids_permutation) > 0 - ) t_P - LEFT JOIN ( - SELECT * - FROM Shop_Product_Currency_Region_Link PCRL - WHERE - ( - a_get_all_delivery_region - OR FIND_IN_SET(PCRL.id_region_purchase, a_ids_delivery_region) > 0 - ) - ) PCRL - ON t_P.id_product <=> PCRL.id_product - AND t_P.id_permutation <=> PCRL.id_permutation - LEFT JOIN tmp_Delivery_Region t_DR - ON PCRL.id_region_purchase = t_DR.id_region - AND t_DR.requires_delivery_option = 1 - WHERE - ISNULL(t_DR.id_region) - ); - IF NOT ISNULL(v_ids_permutation_unavailable) THEN - INSERT INTO tmp_Msg_Error ( - guid, - id_type, - msg - ) - VALUES ( - v_guid, - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'PRODUCT_AVAILABILITY' LIMIT 1), - CONCAT('Error: The following permutation IDs are not available in this region: ', v_ids_permutation_unavailable) - ); - END IF; - /* - DELETE FROM tmp_Shop_Product t_P - WHERE t_P.id_permutation NOT IN ( - SELECT - id_permutation - FROM Shop_Product_Currency_Region_Link PCL - INNER JOIN tmp_Delivery_Region t_DR - ON PCRL.id_region_purchase = t_DR.id_region - ); - */ - END IF; - - -- select * from tmp_Shop_Product; - - # Currencies - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid) THEN - INSERT INTO tmp_Currency ( - id_currency, - active, - display_order - ) - SELECT - C.id_currency, - C.active, - C.display_order - FROM Shop_Product_Currency_Region_Link PCRL - INNER JOIN Shop_Currency C ON PCRL.id_currency = C.id_currency - INNER JOIN tmp_Shop_Product t_P - ON PCRL.id_product <=> t_P.id_product - AND PCRL.id_permutation <=> t_P.id_permutation - INNER JOIN tmp_Delivery_Region t_DR ON PCRL.id_region_purchase = t_DR.id_region - WHERE - ( - a_get_all_currency - OR FIND_IN_SET(C.id_currency, a_ids_currency) > 0 - ) - AND ( - a_get_inactive_currency - OR ( - C.active - AND PCRL.active - ) - ) - ; - - -- select * from tmp_Currency; - - IF v_has_filter_currency THEN - SET v_ids_permutation_unavailable = ( - SELECT GROUP_CONCAT(t_P.id_permutation SEPARATOR ', ') - FROM ( - SELECT * - FROM tmp_Shop_Product t_P - WHERE - /*( - a_get_all_category - OR a_get_all_product - OR a_get_all_product_permutation - )*/ - FIND_IN_SET(t_P.id_category, a_ids_category) > 0 - OR FIND_IN_SET(t_P.id_product, a_ids_product) > 0 - OR FIND_IN_SET(t_P.id_permutation, a_ids_permutation) > 0 - ) t_P - INNER JOIN ( - SELECT * - FROM Shop_Product_Currency_Region_Link PCRL - WHERE - ( - a_get_all_currency - OR FIND_IN_SET(PCRL.id_currency, a_ids_currency) > 0 - ) - ) PCRL - ON t_P.id_permutation = PCRL.id_permutation - LEFT JOIN tmp_Currency t_C - ON PCRL.id_currency = t_C.id_currency - WHERE ISNULL(t_C.id_currency) - ); - IF NOT ISNULL(v_ids_permutation_unavailable) THEN - INSERT INTO tmp_Msg_Error ( - guid, - id_type, - msg - ) - VALUES ( - v_guid, - (SELECT id_type FROM Shop_Msg_Error_Type WHERE code = 'PRODUCT_AVAILABILITY' LIMIT 1), - CONCAT('Error: The following permutation IDs are not available in this currency: ', v_ids_permutation_unavailable) - ); - END IF; - /* - DELETE FROM tmp_Shop_Product t_P - WHERE t_P.id_permutation NOT IN ( - SELECT - id_permutation - FROM Shop_Product_Currency_Region_Link PCL - INNER JOIN tmp_Currency t_C - ON PCRL.id_currency = t_C.id_currency - ); - */ - END IF; - END IF; - - # Discounts - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid) THEN - INSERT INTO tmp_Discount ( - id_discount, - active, - display_order - ) - SELECT - D.id_discount, - D.active, - D.display_order - FROM Shop_Discount D - INNER JOIN tmp_Shop_Product t_P - ON D.id_product = t_P.id_product - AND D.id_permutation <=> t_P.id_permutation - WHERE - ( - a_get_all_discount - OR FIND_IN_SET(D.id_discount, a_ids_discount) > 0 - ) - AND ( - a_get_inactive_discount - OR D.active - ) - ; - END IF; - # select 'pre-permission results'; - # select * from tmp_Shop_Product; - - -- Permissions - IF EXISTS (SELECT * FROM tmp_Shop_Product_Category 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(id_product SEPARATOR ',') FROM tmp_Shop_Product); - SET v_ids_permutation_permission := (SELECT GROUP_CONCAT(id_permutation SEPARATOR ',') FROM tmp_Shop_Product WHERE NOT ISNULL(id_permutation)); - - -- SELECT v_guid, a_id_user, false, v_id_permission_product, v_id_access_level_view, v_ids_permutation_permission; - -- select * from Shop_User_Eval_Temp; - - CALL p_shop_user_eval(v_guid, a_id_user, false, v_id_permission_product, v_id_access_level_view, v_ids_permutation_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_permutation = UE_T.id_permutation - 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 t_P - WHERE - FIND_IN_SET(t_P.id_permutation, (SELECT GROUP_CONCAT(UET.id_permutation SEPARATOR ',') FROM Shop_User_Eval_Temp UET)) = 0 # id_product NOT LIKE CONCAT('%', (SELECT GROUP_CONCAT(id_product SEPARATOR '|') FROM Shop_User_Eval_Temp), '%'); - OR ( - ISNULL(t_P.can_view) - AND ( - NOT v_has_filter_category - OR FIND_IN_SET(t_P.id_category, a_ids_category) = 0 - ) - AND ( - NOT v_has_filter_product - OR FIND_IN_SET(t_P.id_product, a_ids_product) = 0 - ) - AND ( - NOT v_has_filter_permutation - OR FIND_IN_SET(t_P.id_permutation, a_ids_permutation) = 0 - ) - ) - ; - - # 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; - - - -- select * from tmp_Shop_Product; - - -- Returns - SET v_now := NOW(); - - # Categories - SELECT - DISTINCT t_C.id_category, - C.name, - C.description, - C.display_order - FROM tmp_Shop_Product_Category t_C - INNER JOIN Shop_Product_Category C - ON t_C.id_category = C.id_category - INNER JOIN tmp_Shop_Product t_P - ON t_C.id_category = t_P.id_category - ORDER BY C.display_order - ; - - # Products - SELECT - t_P.id_product, - t_P.id_permutation, - t_P.name, - t_P.description, - P.has_variations, - P.id_category, - t_P.latency_manufacture, - t_P.quantity_min, - t_P.quantity_max, - t_P.quantity_step, - t_P.quantity_stock, - t_P.id_stripe_product, - t_P.is_subscription, - RI.name AS name_interval_recurrence, - RI.name_plural AS name_plural_interval_recurrence, - t_P.count_interval_recurrence, - t_P.display_order_category, - t_P.display_order_product, - t_P.display_order_permutation, - IFNULL(t_P.can_view, 0), - IFNULL(t_P.can_edit, 0), - IFNULL(t_P.can_admin, 0) - 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 t_P.id_unit_measurement_interval_recurrence = RI.id_interval - ORDER BY t_P.rank_permutation - ; - - # Variations - SELECT - V.id_variation, - t_P.id_product, - t_P.id_permutation, - 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, - RANK() OVER (ORDER BY t_P.rank_permutation, PPVL.display_order) AS display_order - FROM Shop_Variation V - INNER JOIN Shop_Variation_Type VT - ON V.id_type = VT.id_type - INNER JOIN Shop_Product_Permutation_Variation_Link PPVL ON V.id_variation = PPVL.id_variation - INNER JOIN tmp_Shop_Product t_P ON PPVL.id_permutation <=> t_P.id_permutation - WHERE V.active - AND PPVL.active - ; - - /* - # Permutation variations output - 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 - ORDER BY t_P.display_order - ; - */ - -- select * from Shop_Product_Currency_Region_Link; - -- select * from shop_currency; - /* - select * from tmp_Currency; - select * from tmp_delivery_region; - select * from tmp_shop_product; - */ - - # Product Price - SELECT - PCRL.id_link AS id_price, - t_P.id_permutation, - t_P.id_product, - t_P.id_category, - t_C.id_currency, - C.code AS code_currency, - C.name AS name_currency, - C.symbol AS symbol_currency, - t_DR.id_region, - PCRL.price_local_VAT_incl, - PCRL.price_local_VAT_excl, - ROW_NUMBER() OVER(ORDER BY t_P.rank_permutation, C.display_order) AS display_order - FROM Shop_Product_Currency_Region_Link PCRL - INNER JOIN tmp_Shop_Product t_P - ON PCRL.id_product <=> t_P.id_product - AND PCRL.id_permutation <=> t_P.id_permutation - -- INNER JOIN Shop_Product P ON PCRL.id_product = P.id_product - INNER JOIN tmp_Currency t_C ON PCRL.id_currency = t_C.id_currency - INNER JOIN Shop_Currency C ON t_C.id_currency = C.id_currency - INNER JOIN tmp_Delivery_Region t_DR ON PCRL.id_region_purchase = t_DR.id_region - WHERE ( - a_get_inactive_product - AND a_get_inactive_permutation - AND a_get_inactive_currency - AND a_get_inactive_delivery_region - OR PCRL.active - ) - ORDER BY t_P.rank_permutation - ; - - /* - # Currency - SELECT - DISTINCT C.id_currency, - C.code, - C.name, - C.factor_from_GBP, - t_C.display_order - FROM Shop_Currency C - INNER JOIN tmp_Currency t_C ON C.id_currency = t_C.id_currency - GROUP BY C.id_currency, t_C.display_order - ORDER BY t_C.display_order - ; - */ - - # Images - SELECT - t_I.id_image, - t_I.id_product, - t_I.id_permutation, - t_P.id_category, - I.url, - I.active, - I.display_order - 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 t_I.id_product = t_P.id_product - AND t_I.id_permutation <=> t_P.id_permutation - ORDER BY t_P.rank_permutation, I.display_order - ; - - # Delivery options - SELECT - _DO.id_option, - PDOL.id_product, - PDOL.id_permutation, - t_P.id_category, - _DO.code, - _DO.name, - _DO.latency_delivery_min, - _DO.latency_delivery_max, - _DO.quantity_min, - _DO.quantity_max, - GROUP_CONCAT(DR.code SEPARATOR ',') AS codes_region, - GROUP_CONCAT(DR.name SEPARATOR ',') AS names_region, - PDOL.price_local, - PDOL.display_order - FROM Shop_Delivery_Option _DO - INNER JOIN Shop_Product_Delivery_Option_Link PDOL - ON _DO.id_option = PDOL.id_delivery_option - AND ( - a_get_inactive_delivery_region - OR PDOL.active - ) - INNER JOIN tmp_Shop_Product t_P - ON PDOL.id_product = t_P.id_product - AND PDOL.id_permutation <=> t_P.id_permutation - INNER JOIN tmp_Delivery_Region t_DR ON PDOL.id_region = t_DR.id_region - INNER JOIN Shop_Region DR ON t_DR.id_region = DR.id_region - WHERE ( - a_get_inactive_delivery_region - OR _DO.active - ) - GROUP BY t_P.id_category, t_P.id_product, PDOL.id_permutation, t_P.rank_permutation, DR.id_region, _DO.id_option, PDOL.id_link - ORDER BY t_P.rank_permutation, PDOL.display_order - ; - - # Discounts - SELECT - D.id_discount, - P.id_category, - D.id_product, - D.id_permutation, - DR.id_region, - C.id_currency, - D.code AS code_discount, - D.name AS name_discount, - D.multiplier, - D.subtractor, - D.apply_multiplier_first, - D.quantity_min, - D.quantity_max, - D.date_start, - D.date_end, - GROUP_CONCAT(DR.code) AS codes_region, - GROUP_CONCAT(DR.name) AS names_region, - GROUP_CONCAT(C.code) AS codes_currency, - GROUP_CONCAT(C.name) AS names_currency, - ROW_NUMBER() OVER(ORDER BY D.display_order) AS display_order - FROM tmp_Discount t_D - INNER JOIN Shop_Discount D ON t_D.id_discount = D.id_discount - INNER JOIN Shop_Product P ON D.id_product = P.id_product - INNER JOIN tmp_Shop_Product t_P - ON D.id_product = t_P.id_product - -- AND D.id_permutation <=> t_P.id_permutation - INNER JOIN Shop_Discount_Region_Currency_Link DRCL - ON D.id_discount = DRCL.id_discount - INNER JOIN tmp_Delivery_Region t_DR ON DRCL.id_region = t_DR.id_region - INNER JOIN Shop_Region DR ON t_DR.id_region = DR.id_region - INNER JOIN tmp_Currency t_C ON DRCL.id_currency = t_C.id_currency - INNER JOIN Shop_Currency C ON t_C.id_currency = C.id_currency - GROUP BY D.id_discount, DR.id_region, C.id_currency - ORDER BY D.display_order, DR.display_order, C.display_order - ; - - /* - # Delivery Regions - SELECT - t_DR.id_region, - t_P.id_category, - t_P.id_product, - t_P.id_permutation, - DR.code, - DR.name - FROM tmp_Delivery_Region t_DR - INNER JOIN Shop_Delivery_Region DR ON t_DR.id_region = DR.id_region - INNER JOIN Shop_Product_Region_Currency_Link PDRL - ON DR.id_region = PDRL.id_region - AND ( - a_get_inactive_delivery_region - OR PDRL.active - ) - INNER JOIN tmp_Shop_Product t_P - ON PDRL.id_product = t_P.id_product - AND PDRL.id_permutation <=> t_P.id_permutation - INNER JOIN tmp_Currency t_C ON PDRL.id_currency = t_C.id_currency - ORDER BY t_DR.display_order - ; - */ - - # Errors - SELECT - t_ME.display_order, - t_ME.guid, - t_ME.id_type, - t_ME.msg, - MET.code, - MET.name, - MET.description - FROM tmp_Msg_Error t_ME - INNER JOIN Shop_Msg_Error_Type MET - ON t_ME.id_type = MET.id_type - WHERE guid = v_guid - ; - - /* - # Return arguments for test - SELECT - a_ids_category, - a_get_inactive_category, - a_ids_product, - a_get_inactive_product, - a_get_first_product_only, - a_get_all_product, - a_ids_image, - a_get_inactive_image, - a_get_first_image_only, - a_get_all_image - ; - */ - - # select 'other outputs'; - # select * from tmp_Shop_Product; - - -- Clean up - DROP TABLE IF EXISTS tmp_Discount; - DROP TABLE IF EXISTS tmp_Currency; - DROP TABLE IF EXISTS tmp_Delivery_Region; - DROP TABLE IF EXISTS tmp_Shop_Image; - DROP TABLE IF EXISTS tmp_Shop_Variation; - DROP TABLE IF EXISTS tmp_Shop_Product; - DROP TABLE IF EXISTS tmp_Shop_Product_Category; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `p_shop_get_many_region` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_get_many_region`( - IN a_get_inactive_region BIT -) -BEGIN - IF a_get_inactive_region IS NULL THEN - SET a_get_inactive_region = 0; - END IF; - - SELECT - R.id_region, - R.code, - R.name, - R.active, - R.display_order - FROM Shop_Region R - WHERE a_get_inactive_region - OR R.active - ORDER BY R.display_order - ; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `p_shop_get_many_stripe_price_new` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_get_many_stripe_price_new`( - IN a_id_user INT -) -BEGIN - DECLARE v_has_filter_user 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(); - - - - IF a_id_user IS NULL THEN - SET a_id_user = ''; - ELSE - SET a_id_user = TRIM(a_id_user); - END IF; - - - - -- Temporary tables - DROP TABLE IF EXISTS tmp_Shop_Product_Currency_Link; - DROP TABLE IF EXISTS tmp_Shop_User; - - 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_Product_Currency_Link ( - id_link INT NOT NULL PRIMARY KEY, - CONSTRAINT FK_tmp_Shop_Product_Currency_Link_id_link - FOREIGN KEY (id_link) - REFERENCES Shop_Product_Currency_Link(id_link), - id_product INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Product_Currency_Link_id_product - FOREIGN KEY (id_product) - REFERENCES Shop_Product(id_product), - id_permutation INT NULL, - CONSTRAINT FK_tmp_Shop_Product_Currency_Link_id_permutation - FOREIGN KEY (id_permutation) - REFERENCES Shop_Product_Permutation(id_permutation), - id_currency INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Product_Currency_Link_id_currency - FOREIGN KEY (id_currency) - REFERENCES Shop_Currency(id_currency), - active BIT NOT NULL - ); - - CREATE TABLE IF NOT EXISTS tmp_Msg_Error ( # IF NOT EXISTS - 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_has_filter_user = CASE WHEN a_id_user = '' THEN 0 ELSE 1 END; - - - - -- User permissions - 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; - IF NOT v_has_filter_user THEN - INSERT INTO tmp_Msg_Error ( - guid, - code, - msg - ) - VALUES ( - v_guid, - v_code_error_data, - 'Valid user ID not provided.' - ) - ; - END IF; - - -- Get products - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - INSERT INTO tmp_Shop_Product_Currency_Link ( - id_link, - id_product, - id_permutation, - id_currency, - active - ) - SELECT id_link, - id_product, - id_permutation, - id_currency, - active - FROM Shop_Product_Currency_Link - WHERE ISNULL(id_stripe_price) - AND active - ; - END IF; - - -- Permissions - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - # SELECT * FROM tmp_Msg_Error LIMIT 1; - 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_ADMIN' = code), CHAR), # a_ids_permission - (SELECT id_access_level FROM Shop_Access_Level WHERE code = 'ADMIN' AND active), # a_ids_access_level - (SELECT GROUP_CONCAT(DISTINCT id_product SEPARATOR ',') FROM tmp_Shop_Product_Currency_Link), # (SELECT DISTINCT id_product FROM tmp_Shop_Product_Currency_Link) calc_PCL) # a_ids_product - (SELECT GROUP_CONCAT(DISTINCT id_permutation SEPARATOR ',') FROM tmp_Shop_Product_Currency_Link) # a_ids_permutation - ); - # SELECT * FROM tmp_Msg_Error LIMIT 1; - - IF EXISTS (SELECT can_admin FROM Shop_User_Eval_Temp WHERE guid = v_guid AND NOT can_admin LIMIT 1) THEN - INSERT INTO tmp_Msg_Error ( - guid, - code, - msg - ) - VALUES ( - v_guid, - v_code_error_permission, - 'User ID does not have permission to get all new stripe prices.' - ) - ; - END IF; - - DELETE FROM Shop_User_Eval_Temp - WHERE guid = v_guid - ; - END IF; - - - - -- Returns - IF EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - DELETE FROM tmp_Shop_Product_Currency_Link; - END IF; - /* - SELECT * - FROM tmp_Shop_User - ; - */ - - - SELECT t_PCL.id_product, - t_PCL.id_permutation, - P.price_GBP_full * C.factor_from_GBP AS unit_price, - C.code AS code_currency, - P.id_stripe_product, - P.is_subscription, - LOWER(RI.code) AS name_recurring_interval, - P.count_interval_recurrence - FROM tmp_Shop_Product_Currency_Link t_PCL - INNER JOIN Shop_Product P - ON t_PCL.id_product = P.id_product - AND P.active - INNER JOIN Shop_Interval_Recurrence RI - ON P.id_unit_measurement_interval_recurrence = RI.id_interval - AND RI.active - INNER JOIN Shop_Currency C - ON t_PCL.id_currency = C.id_currency - AND C.active - WHERE t_PCL.active - ; - - - # Errors - SELECT * - FROM tmp_Msg_Error - WHERE guid = v_guid - ; - - - /* - # Return arguments for test - SELECT - a_id_user - ; - */ - - -- Clean up - DROP TABLE IF EXISTS tmp_Shop_User; - DROP TABLE IF EXISTS tmp_Shop_Product_Currency_Link; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `p_shop_get_many_stripe_product_new` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_get_many_stripe_product_new`( - IN a_id_user INT -) -BEGIN - DECLARE v_has_filter_user 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(); - - - IF a_id_user IS NULL THEN - SET a_id_user = ''; - ELSE - SET a_id_user = TRIM(a_id_user); - END IF; - - - - -- Temporary tables - DROP TABLE IF EXISTS tmp_Shop_Product; - DROP TABLE IF EXISTS tmp_Shop_User; - - 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_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), - active BIT NOT NULL, - display_order_product INT NOT NULL, - display_order_permutation INT NOT NULL, - name VARCHAR(200) NOT NULL, - description VARCHAR(4000) NOT NULL - ); - - CREATE TABLE IF NOT EXISTS tmp_Msg_Error ( # IF NOT EXISTS - 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_has_filter_user = CASE WHEN a_id_user = '' THEN 0 ELSE 1 END; - - - - -- User - 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; - - 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; - - -- Get products - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - INSERT INTO tmp_Shop_Product ( - id_product, - id_permutation, - active, - display_order_product, - display_order_permutation, - name, - description - ) - SELECT id_product, - id_permutation, - active, - display_order_product, - display_order_permutation, - name, - description - FROM ( - SELECT id_product, - NULL AS id_permutation, - active, - display_order AS display_order_product, - NULL AS display_order_permutation, - name, - description, - id_stripe_product - FROM Shop_Product P - UNION - SELECT t_PPPV.id_product, - id_permutation, - t_PPPV.active, - display_order_product, - display_order_permutation, - CONCAT(P.name, ': ', names_variation) AS name, - CONCAT(P.description, ' With variations: ', type_name_pairs_variation) AS description, - t_PPPV.id_stripe_product - FROM ( - SELECT P.id_product, - PP.id_permutation, - PP.active, - P.display_order AS display_order_product, - PP.display_order AS display_order_permutation, - GROUP_CONCAT(V.name SEPARATOR ' ') AS names_variation, - GROUP_CONCAT(CONCAT(VT.name, ': ', V.name) SEPARATOR ', ') AS type_name_pairs_variation, - PP.id_stripe_product - FROM Shop_Product_Permutation PP - INNER JOIN Shop_Product P - ON PP.id_product = P.id_product - AND P.active - INNER JOIN Shop_Product_Permutation_Variation_Link PPVL - ON PP.id_permutation = PPVL.id_permutation - AND PPVL.active - INNER JOIN Shop_Variation V - ON PPVL.id_variation = V.id_variation - AND V.active - INNER JOIN Shop_Variation_Type VT - ON V.id_type = VT.id_type - AND VT.active - GROUP BY id_product, id_permutation -- , VT.id_type, V.id_variation - ) t_PPPV - INNER JOIN Shop_Product P - ON t_PPPV.id_product = P.id_product - ) t_PPP - WHERE ISNULL(id_stripe_product) - AND active - ; - 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_ADMIN' = code), CHAR), # a_ids_permission - (SELECT id_access_level FROM Shop_Access_Level WHERE code = 'ADMIN' AND active), # a_ids_access_level - (SELECT GROUP_CONCAT(id_product SEPARATOR ',') From tmp_Shop_Product), # a_ids_product - (SELECT GROUP_CONCAT(id_permutation SEPARATOR ',') From tmp_Shop_Product) # a_ids_permutation -- WHERE NOT ISNULL(id_permutation) - ); - - IF EXISTS (SELECT can_admin FROM Shop_User_Eval_Temp WHERE guid = v_guid AND NOT can_admin) THEN - INSERT INTO tmp_Msg_Error ( - guid, - code, - msg - ) - VALUES ( - v_guid, - v_code_error_permission, - 'User ID does not have permission to get all new stripe products.' - ) - ; - END IF; - - DELETE FROM Shop_User_Eval_Temp - WHERE guid = v_guid - ; - END IF; - - - - - -- Returns - /* - SELECT * - FROM tmp_Shop_User - ; - */ - - IF EXISTS (SELECT * FROM tmp_Msg_Error WHERE guid = v_guid LIMIT 1) THEN - DELETE FROM tmp_Shop_Product; - END IF; - - SELECT id_product, - id_permutation, - name, - description - FROM tmp_Shop_Product - ORDER BY display_order_product, display_order_permutation - ; - SELECT PP.id_permutation, - V.id_variation, - V.name AS name_variation, - VT.id_type AS id_type_variation, - VT.name as name_variation_type - FROM tmp_Shop_Product t_P - INNER JOIN Shop_Product_Permutation PP - ON t_P.id_permutation = PP.id_permutation - INNER JOIN Shop_Product_Permutation_Variation_Link PPVL - ON PP.id_permutation = PPVL.id_permutation - AND PPVL.active - INNER JOIN Shop_Variation V - ON PPVL.id_variation = V.id_variation - AND V.active - INNER JOIN Shop_Variation_Type VT - ON V.id_type = VT.id_type - AND VT.active - ; - - - # Errors - SELECT * - FROM tmp_Msg_Error - WHERE guid = v_guid - ; - - - /* - # Return arguments for test - SELECT - a_id_user - ; - */ - - -- Clean up - DROP TABLE IF EXISTS tmp_Shop_Product; - DROP TABLE IF EXISTS tmp_Shop_User; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `p_shop_get_many_user_order` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -CREATE DEFINER=`root`@`localhost` 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 ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `p_shop_user_eval` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ; -CREATE DEFINER=`root`@`localhost` PROCEDURE `p_shop_user_eval`( - IN a_guid BINARY(36), - IN a_id_user INT, - IN a_get_inactive_users BIT, - IN a_ids_permission VARCHAR(500), - IN a_ids_access_level VARCHAR(100), - IN a_ids_permutation VARCHAR(4000) -) -BEGIN - -- Variable declaration - DECLARE v_has_filter_permission BIT; - DECLARE v_has_filter_user BIT; - DECLARE v_has_filter_access_level BIT; - DECLARE v_has_filter_permutation BIT; - DECLARE v_id_permission_product INT; - DECLARE v_id_permission INT; - -- DECLARE v_ids_product VARCHAR(500); - DECLARE v_id_access_level_view INT; - # DECLARE v_id_access_level_product_required INT; - DECLARE v_priority_access_level_view INT; - DECLARE v_priority_access_level_edit INT; - DECLARE v_priority_access_level_admin INT; - DECLARE v_id_access_level INT; - DECLARE v_priority_access_level INT; - DECLARE v_now DATETIME; - DECLARE v_ids_row_delete VARCHAR(500); - DECLARE v_code_error_data VARCHAR(200); - DECLARE v_id_error_data INT; - DECLARE v_code_error_permission VARCHAR(200); - - SET v_id_error_data = 1; - SET v_code_error_data := (SELECT code FROM Shop_Msg_Error_Type WHERE id_type = v_id_error_data); - - SET v_code_error_permission := (SELECT code FROM Shop_Msg_Error_Type WHERE id_type = 2); - - -- Clear previous proc results - # DROP TABLE IF EXISTS tmp_User_Role_Link; - # DROP TEMPORARY TABLE IF EXISTS tmp_User_Role_Link; - DROP TABLE IF EXISTS tmp_Shop_Product_p_Shop_User_Eval; - # DROP TABLE IF EXISTS Shop_User_Eval_Temp; - - - -- Parse arguments + get default values - /* - IF a_guid IS NULL THEN - SET a_guid = UUID(); - END IF; - */ - IF a_id_user IS NULL THEN - SET a_id_user = ''; - ELSE - SET a_id_user = TRIM(a_id_user); - END IF; - IF a_get_inactive_users IS NULL THEN - SET a_get_inactive_users = 0; - END IF; - /* - IF a_get_user_permissions IS NULL THEN - SET a_get_user_permissions = 0; - END IF; - */ - IF a_ids_permission IS NULL THEN - SET a_ids_permission = ''; - ELSE - SET a_ids_permission = TRIM(a_ids_permission); - END IF; - IF a_ids_access_level IS NULL THEN - SET a_ids_access_level = ''; - ELSE - SET a_ids_access_level = TRIM(a_ids_access_level); - END IF; - IF a_ids_permutation IS NULL THEN - SET a_ids_permutation = ''; - ELSE - SET a_ids_permutation = TRIM(a_ids_permutation); - END IF; - - -- Permanent Table - CREATE TABLE IF NOT EXISTS Shop_User_Eval_Temp ( - id_row INT PRIMARY KEY AUTO_INCREMENT NOT NULL, - guid BINARY(36) NOT NULL, - id_user INT, - id_permission_required INT NOT NULL, - CONSTRAINT FK_Shop_User_Eval_Temp_id_permission_required - FOREIGN KEY (id_permission_required) - REFERENCES Shop_Permission (id_permission), - /* - id_access_level_required INT NOT NULL, - CONSTRAINT FK_Shop_User_Eval_Temp_id_access_level_required - FOREIGN KEY (id_access_level_required) - REFERENCES Shop_Access_Level (id_access_level), - */ - priority_access_level_required INT NOT NULL, - /* - CONSTRAINT FK_Shop_User_Eval_Temp_priority_access_level_required - FOREIGN KEY (priority_access_level_required) - REFERENCES Shop_Access_Level (priority), - */ - id_product INT NULL, - CONSTRAINT FK_Shop_User_Eval_Temp_id_product - FOREIGN KEY (id_product) - REFERENCES partsltd_prod.Shop_Product (id_product), - id_permutation INT NULL, - CONSTRAINT FK_Shop_User_Eval_Temp_id_permutation - FOREIGN KEY (id_permutation) - REFERENCES partsltd_prod.Shop_Product_Permutation (id_permutation), - is_super_user BIT NULL, - priority_access_level_user INT NULL, - /* - CONSTRAINT FK_Shop_User_Eval_Temp_priority_access_level_minimum - FOREIGN KEY (priority_access_level_minimum) - REFERENCES Shop_Access_Level (priority) - */ - can_view BIT, - can_edit BIT, - can_admin BIT -- DEFAULT 0 - ); - - CREATE TABLE IF NOT EXISTS tmp_Shop_Product_p_Shop_User_Eval ( - id_row INT PRIMARY KEY AUTO_INCREMENT NOT NULL, - id_product INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Product_p_Shop_User_Eval_id_product FOREIGN KEY (id_product) - REFERENCES partsltd_prod.Shop_Product (id_product), - id_permutation INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Product_p_Shop_User_Eval_id_permutation FOREIGN KEY (id_permutation) - REFERENCES partsltd_prod.Shop_Product_Permutation (id_permutation), - id_access_level_required INT NOT NULL, - CONSTRAINT FK_tmp_Shop_Product_p_Shop_User_Eval_id_access_level_required FOREIGN KEY (id_access_level_required) - REFERENCES Shop_Access_Level (id_access_level), - guid BINARY(36) NOT NULL, - rank_permutation 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, - 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 - ); - - # select * from Shop_Msg_Error_Type; - - -- Parse filters - IF a_guid IS NULL OR EXISTS (SELECT * FROM Shop_User_Eval_Temp WHERE a_guid = guid) THEN - INSERT INTO tmp_Msg_Error ( - guid, - code, - msg - ) - VALUES ( - a_guid, - v_code_error_data, - 'Invalid guid argument.' - ) - ; - END IF; - SET v_has_filter_user = CASE WHEN a_id_user = '' THEN 0 ELSE 1 END; - SET a_ids_permission = REPLACE(a_ids_permission, '|', ','); - SET v_has_filter_permission = CASE WHEN a_ids_permission = '' THEN 0 ELSE 1 END; - SET a_ids_access_level = REPLACE(a_ids_access_level, '|', ','); - SET v_has_filter_access_level = CASE WHEN a_ids_access_level = '' THEN 0 ELSE 1 END; - SET a_ids_permutation = REPLACE(a_ids_permutation, '|', ','); - SET v_has_filter_permutation = CASE WHEN a_ids_permutation = '' THEN 0 ELSE 1 END; - SET v_id_access_level_view = (SELECT id_access_level FROM Shop_Access_Level WHERE code = 'VIEW' LIMIT 1); - SET v_priority_access_level_view = (SELECT priority FROM Shop_Access_Level WHERE id_access_level = v_id_access_level_view); - SET v_priority_access_level_edit = (SELECT priority FROM Shop_Access_Level WHERE code = 'EDIT' LIMIT 1); - SET v_priority_access_level_admin = (SELECT priority FROM Shop_Access_Level WHERE code = 'ADMIN' LIMIT 1); - - /* - select v_priority_access_level_view, - v_priority_access_level_edit, - v_priority_access_level_admin - ; - */ - - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE GUID = a_guid) THEN - IF v_has_filter_access_level THEN - CALL p_split(a_ids_access_level, ','); - SET v_id_access_level := ( - SELECT AL.id_access_level - FROM Split_Temp ST - INNER JOIN Shop_Access_Level AL - ON CONVERT(ST.substring, DECIMAL(10,0)) = AL.id_access_level - AND AL.active - ORDER BY AL.priority ASC - LIMIT 1 - ); - DROP TABLE Split_Temp; - IF 0 = v_id_access_level OR v_id_access_level <=> NULL THEN - # SET v_has_filter_access_level = 0; - INSERT INTO tmp_Msg_Error ( - guid, - code, - msg - ) - VALUES ( - a_guid, - v_code_error_data, - 'Access level ID not found.' - ) - ; - END IF; - /* - END IF; - IF NOT v_has_filter_access_level THEN - */ - ELSE - SET v_id_access_level = v_id_access_level_view; - END IF; - END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE GUID = a_guid) THEN - IF v_has_filter_permutation THEN - INSERT INTO tmp_Shop_Product_p_Shop_User_Eval ( - id_product, - id_permutation, - id_access_level_required, - guid, - rank_permutation - ) - SELECT - PP.id_product, - PP.id_permutation, - PP.id_access_level_required, - a_guid, - RANK() OVER (ORDER BY PP.id_product, PP.id_permutation, AL.priority) AS rank_permutation - FROM Shop_Product_Permutation PP - INNER JOIN Shop_Access_Level AL - ON PP.id_access_level_required = AL.id_access_level - AND AL.active - WHERE FIND_IN_SET(PP.id_permutation, a_ids_permutation) > 0 - # AND P.active # not worried as we want users to be able to see their order history - ; - /* - DELETE FROM tmp_Shop_Product_p_Shop_User_Eval - WHERE rank_permutation > 1 - ; - */ - SET v_has_filter_permutation = EXISTS (SELECT * FROM tmp_Shop_Product_p_Shop_User_Eval WHERE a_guid = guid); - END IF; - - IF v_has_filter_permission THEN - # Invalid permission IDs - IF EXISTS (SELECT id_permission FROM Shop_Permission WHERE FIND_IN_SET(id_permission, a_ids_permission) > 0 AND NOT active) THEN - INSERT INTO tmp_Msg_Error ( - guid, - code, - msg - ) - VALUES ( - a_guid, - v_code_error_data, - CONCAT('The following permissions are no longer active: ', (SELECT GROUP_CONCAT(name SEPARATOR ', ') FROM Shop_Permission WHERE FIND_IN_SET(id_permission, a_ids_permission) > 0 AND NOT active)) - ) - ; - END IF; - END IF; - END IF; - - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE GUID = a_guid) THEN - IF v_has_filter_user THEN - SET a_id_user := (SELECT id_user FROM Shop_User WHERE id_user LIKE a_id_user AND active); - SET v_has_filter_user = NOT (a_id_user <=> NULL); - IF NOT v_has_filter_user THEN - INSERT INTO tmp_Msg_Error ( - guid, - code, - msg - ) - VALUES ( - a_guid, - v_code_error_data, - 'User ID not found.' - ) - ; - END IF; - END IF; - END IF; - - -- Get users - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error WHERE GUID = a_guid) THEN - INSERT INTO Shop_User_Eval_Temp ( - guid, - id_user, - id_permission_required, - priority_access_level_required - /* - priority_access_level_user, - is_super_user, - can_view, - can_edit, - can_admin - */ - ) - SELECT a_guid, - a_id_user, - P.id_permission, - AL.priority - FROM partsltd_prod.Shop_Permission P - INNER JOIN Shop_Access_Level AL - ON P.id_access_level_required = AL.id_access_level - AND AL.active - WHERE FIND_IN_SET(P.id_permission, a_ids_permission) > 0 - ; - - IF v_has_filter_permutation THEN - SET v_ids_row_delete := (SELECT GROUP_CONCAT(id_row SEPARATOR ',') FROM Shop_User_Eval_Temp WHERE a_guid = guid); - - INSERT INTO Shop_User_Eval_Temp ( - guid, - id_user, - id_permission_required, - id_product, - id_permutation, - priority_access_level_required - ) - SELECT UE_T.guid, - UE_T.id_user, - UE_T.id_permission_required, - t_P.id_product, - t_P.id_permutation, - CASE WHEN UE_T.priority_access_level_required < AL.priority THEN UE_T.priority_access_level_required ELSE AL.priority END -- UE_T.priority_access_level_required - FROM tmp_Shop_Product_p_Shop_User_Eval t_P - INNER JOIN Shop_Access_Level AL - ON t_P.id_access_leveL_required = AL.id_access_level - AND AL.active - CROSS JOIN Shop_User_Eval_Temp UE_T - ON a_id_user = UE_T.id_user - WHERE a_guid = t_P.guid - ; - - DELETE FROM Shop_User_Eval_Temp - WHERE FIND_IN_SET(id_row, v_ids_row_delete) > 0 - ; - END IF; - - /* - INSERT INTO Shop_User_Eval_Temp ( - guid, - id_user, - id_permission_required, - # id_access_level_required, - priority_access_level_required, - priority_access_level_user, - is_super_user - /* - can_view, - can_edit, - can_admin - * - ) - SELECT a_guid, - U.id_user, - P.id_permission, - AL.priority, - /* - v_id_permission, - v_id_access_level, - * - MIN(AL.priority), - U.is_super_user - /* - CASE WHEN U.is_super_user THEN 1 ELSE CASE WHEN priority_access_level_minimum <= v_priority_access_level_view THEN 1 ELSE 0 END END, - CASE WHEN U.is_super_user THEN 1 ELSE CASE WHEN priority_access_level_minimum <= v_priority_access_level_edit THEN 1 ELSE 0 END END, - CASE WHEN U.is_super_user THEN 1 ELSE CASE WHEN priority_access_level_minimum <= v_priority_access_level_admin THEN 1 ELSE 0 END END - * - FROM partsltd_prod.Shop_User U - INNER JOIN Shop_User_Role_Link URL - ON U.id_user = URL.id_user - AND URL.active - INNER JOIN Shop_Role_Permission_Link RPL - ON URL.id_role = RPL.id_role - AND RPL.active - INNER JOIN Shop_Permission P - ON RPL.id_permission = P.id_permission - AND P.active - INNER JOIN Shop_Access_Level AL - ON RPL.id_access_level = AL.id_access_level - AND AL.active - WHERE U.id_user = a_id_user - AND (a_get_inactive_users OR U.active) - AND FIND_IN_SET(P.id_permission, a_ids_permission) > 0 - # AND v_id_permission = P.id_permission - # AND v_id_access_level = AL.id_access_leveld - GROUP BY U.id_user, P.id_permission # , is_super_user - ; - */ - - IF v_has_filter_user THEN - UPDATE Shop_User_Eval_Temp UE_T - INNER JOIN Shop_User U - ON UE_T.id_user = U.id_user - AND U.active - INNER JOIN Shop_User_Role_Link URL - ON U.id_user = URL.id_user - AND URL.active - INNER JOIN Shop_Role_Permission_Link RPL - ON URL.id_role = RPL.id_role - AND RPL.active - INNER JOIN Shop_Access_Level AL - ON RPL.id_access_level = AL.id_access_level - AND AL.active - SET UE_T.priority_access_level_user = AL.priority, - UE_T.is_super_user = U.is_super_user, - UE_T.can_view = CASE WHEN U.is_super_user THEN 1 ELSE CASE WHEN ISNULL(AL.priority) THEN 1 ELSE CASE WHEN AL.priority <= v_priority_access_level_view AND AL.priority <= UE_T.priority_access_level_required THEN 1 ELSE 0 END END END, - UE_T.can_edit = CASE WHEN U.is_super_user THEN 1 ELSE CASE WHEN NOT ISNULL(AL.priority) AND AL.priority <= v_priority_access_level_edit AND AL.priority <= UE_T.priority_access_level_required THEN 1 ELSE 0 END END, - UE_T.can_admin = CASE WHEN U.is_super_user THEN 1 ELSE CASE WHEN NOT ISNULL(AL.priority) AND AL.priority <= v_priority_access_level_admin AND AL.priority <= UE_T.priority_access_level_required THEN 1 ELSE 0 END END - WHERE UE_T.guid = a_guid - AND UE_T.id_user = a_id_user - AND RPL.id_permission = UE_T.id_permission_required - # GROUP BY UE_T.id_user - ; - ELSE - UPDATE Shop_User_Eval_Temp UE_T - SET UE_T.priority_access_level_user = v_priority_access_level_view, - UE_T.is_super_user = 0, - UE_T.can_view = (v_priority_access_level_view <= UE_T.priority_access_level_required), - UE_T.can_edit = 0, - UE_T.can_admin = 0 - WHERE UE_T.guid = a_guid - AND UE_T.id_user = a_id_user - # GROUP BY UE_T.id_user - ; - END IF; - END IF; - - -- Clean up - DROP TABLE IF EXISTS tmp_Shop_Product_p_Shop_User_Eval; - # DROP TEMPORARY TABLE IF EXISTS tmp_User_Role_Link; - # DROP TABLE IF EXISTS tmp_Msg_Error; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; - -/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; -/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; -/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; -/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; - --- Dump completed on 2024-04-28 19:04:05 diff --git a/static/batch/sql_combine.ps1 b/static/batch/sql_combine.ps1 index 234147ec..55a9d268 100644 --- a/static/batch/sql_combine.ps1 +++ b/static/batch/sql_combine.ps1 @@ -25,9 +25,9 @@ $output = New-Object System.Text.StringBuilder $output.AppendLine("-- Combined SQL files") $output.AppendLine() -$output.AppendLine("DROP DATABASE IF EXISTS partsltd_prod;") -$output.AppendLine("CREATE DATABASE partsltd_prod;") -$output.AppendLine("USE partsltd_prod;") +$output.AppendLine("DROP DATABASE IF EXISTS demo;") +$output.AppendLine("CREATE DATABASE demo;") +$output.AppendLine("USE demo;") $output.AppendLine() # Process each file diff --git a/static/css/layouts/header.css b/static/css/layouts/header.css index 32151af3..60640aab 100644 --- a/static/css/layouts/header.css +++ b/static/css/layouts/header.css @@ -68,6 +68,9 @@ } /* Page Filters */ +#formFilters { + width: fit-content; +} #formFilters * { font-size: 12px; } diff --git a/static/css/layouts/table-main.css b/static/css/layouts/table-main.css index c4628d34..aebebd01 100644 --- a/static/css/layouts/table-main.css +++ b/static/css/layouts/table-main.css @@ -3,7 +3,7 @@ overflow-x: auto; padding: 1vh; max-width: 95vw; /* min(calc(1vh * 80), calc(1vw * 90)); */ - width: fit-content; + width: min-content; margin: 1vh 2vh; align-items: normal; justify-content: normal; diff --git a/static/css/pages/store/manufacturing_purchase_order.css b/static/css/pages/store/manufacturing_purchase_order.css index cd3dfd63..669b4a38 100644 --- a/static/css/pages/store/manufacturing_purchase_order.css +++ b/static/css/pages/store/manufacturing_purchase_order.css @@ -1,8 +1,4 @@ -#formFilters { - width: 100vh; -} - #formFilters .container-input.filter.active { width: 8vh; } diff --git a/static/css/pages/store/product_categories.css b/static/css/pages/store/product_categories.css index 06b3c1c1..3d303454 100644 --- a/static/css/pages/store/product_categories.css +++ b/static/css/pages/store/product_categories.css @@ -1,8 +1,4 @@ -#formFilters { - width: 50vh; -} - #formFilters .container { max-width: fit-content; } @@ -15,16 +11,6 @@ width: 8vh; } -#tableMain { - max-width: min(calc(1vh * 79), calc(1vw * 90)); -} - -/* -#tableMain thead tr th, #tableMain tbody tr td { - margin-left: 1vh; - margin-right: 1vh; -} -*/ #tableMain tbody tr td.display_order, #tableMain thead tr th.display_order { width: 5vh; diff --git a/static/css/pages/store/product_permutations.css b/static/css/pages/store/product_permutations.css index bf8b4fa9..0c1495ab 100644 --- a/static/css/pages/store/product_permutations.css +++ b/static/css/pages/store/product_permutations.css @@ -1,7 +1,4 @@ -#formFilters { - width: 95vh; -} #tableMain { max-width: 90vw; diff --git a/static/css/pages/store/product_variations.css b/static/css/pages/store/product_variations.css index ff9c3cbd..794cabce 100644 --- a/static/css/pages/store/product_variations.css +++ b/static/css/pages/store/product_variations.css @@ -1,11 +1,4 @@ -/* -#formFilters { - width: 50vh; -} -*/ - - #tableMain:has(thead tr th.product_variations.collapsed) { max-width: 66vh; } diff --git a/static/css/pages/store/products.css b/static/css/pages/store/products.css index f018cd70..23938186 100644 --- a/static/css/pages/store/products.css +++ b/static/css/pages/store/products.css @@ -1,7 +1,4 @@ -#formFilters { - width: 50vh; -} #formFilters .container { max-width: fit-content; diff --git a/static/css/pages/store/supplier.css b/static/css/pages/store/supplier.css index 25b14d44..1f7b40ec 100644 --- a/static/css/pages/store/supplier.css +++ b/static/css/pages/store/supplier.css @@ -1,8 +1,4 @@ -#formFilters { - width: 50vh; -} - #formFilters .container-input.filter.active { width: 8vh; } diff --git a/static/css/pages/store/supplier_purchase_order.css b/static/css/pages/store/supplier_purchase_order.css index 97dbb219..be6f5291 100644 --- a/static/css/pages/store/supplier_purchase_order.css +++ b/static/css/pages/store/supplier_purchase_order.css @@ -1,7 +1,4 @@ -#formFilters { - width: 100vh; -} #formFilters .container-input.filter.active { width: 8vh; diff --git a/static/dist/css/main.bundle.css b/static/dist/css/main.bundle.css index 9ccdf036..3f5aa020 100644 --- a/static/dist/css/main.bundle.css +++ b/static/dist/css/main.bundle.css @@ -579,6 +579,9 @@ table div { } /* Page Filters */ +#formFilters { + width: fit-content; +} #formFilters * { font-size: 12px; } @@ -644,7 +647,7 @@ form.filter button.save, form.filter button.button-cancel { overflow-x: auto; padding: 1vh; max-width: 95vw; /* min(calc(1vh * 80), calc(1vw * 90)); */ - width: fit-content; + width: min-content; margin: 1vh 2vh; align-items: normal; justify-content: normal; diff --git a/static/dist/css/store_product_categories.bundle.css b/static/dist/css/store_product_categories.bundle.css index 4ea06ef3..ad058c3c 100644 --- a/static/dist/css/store_product_categories.bundle.css +++ b/static/dist/css/store_product_categories.bundle.css @@ -56,10 +56,6 @@ -#formFilters { - width: 50vh; -} - #formFilters .container { max-width: fit-content; } @@ -72,16 +68,6 @@ width: 8vh; } -#tableMain { - max-width: min(calc(1vh * 79), calc(1vw * 90)); -} - -/* -#tableMain thead tr th, #tableMain tbody tr td { - margin-left: 1vh; - margin-right: 1vh; -} -*/ #tableMain tbody tr td.display_order, #tableMain thead tr th.display_order { width: 5vh; diff --git a/static/dist/css/store_product_permutations.bundle.css b/static/dist/css/store_product_permutations.bundle.css index e79e8182..08bbaee4 100644 --- a/static/dist/css/store_product_permutations.bundle.css +++ b/static/dist/css/store_product_permutations.bundle.css @@ -56,9 +56,6 @@ -#formFilters { - width: 95vh; -} #tableMain { max-width: 90vw; diff --git a/static/dist/js/main.bundle.js b/static/dist/js/main.bundle.js index 19812ea3..1f6857ca 100644 --- a/static/dist/js/main.bundle.js +++ b/static/dist/js/main.bundle.js @@ -1007,14 +1007,6 @@ var BasePage = /*#__PURE__*/function () { }, { key: "hookupNavigation", value: function hookupNavigation() { - /* Can be removed: */ - var overlayHamburger = document.querySelector(idOverlayHamburger); - var hamburgerOptions = overlayHamburger.querySelectorAll('div.' + flagRow); - var countOptions = hamburgerOptions.length; - // console.log('count nav options: ', countOptions); - // overlayHamburger.css('height', (countOptions * 27) + 'px'); - /* end of can be removed */ - this.hookupEventHandler("click", idButtonHamburger, function (event, element) { var overlayHamburger = document.querySelector(idOverlayHamburger); if (overlayHamburger.classList.contains(flagCollapsed)) { @@ -1024,7 +1016,6 @@ var BasePage = /*#__PURE__*/function () { overlayHamburger.classList.remove(flagExpanded); overlayHamburger.classList.add(flagCollapsed); } - // overlayHamburger.classList.add(flagInitialised); }); this.hookupButtonsNavHome(); this.hookupButtonsNavServices(); @@ -1092,7 +1083,6 @@ var BasePage = /*#__PURE__*/function () { _this2.leave(); api_API.loginUser().then(function (response) { if (response.Success) { - // this.router.navigateToUrl(response[flagCallback], null, false); // window.app. window.location.href = response[flagCallback]; } else { DOM.alertError("Error", response.Message); @@ -1188,7 +1178,6 @@ var BasePage = /*#__PURE__*/function () { } OverlayConfirm.show(); }); - // button.classList.add(flagCollapsed); }); } }, { @@ -1222,7 +1211,6 @@ var BasePage = /*#__PURE__*/function () { }, { key: "toggleShowButtonsSaveCancel", value: function toggleShowButtonsSaveCancel(show) { - // , buttonSave = null, buttonCancel = null var buttonSave = document.querySelector('form.' + flagFilter + ' button.' + flagSave); var buttonCancel = document.querySelector('form.' + flagFilter + ' button.' + flagCancel); if (show) {