From 9ca4415ff9359f5f9f598b28d1d8eb7a4a050e9c Mon Sep 17 00:00:00 2001 From: vextv Date: Fri, 15 Nov 2024 13:51:30 +0100 Subject: [PATCH] updated sql scripts --- .gitignore | 2 +- sql/create_db.sql | 40 +++++++++++++++++++++++++--------------- sql/delete_db.sql | 13 ++++++++++++- 3 files changed, 38 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index fbf8516..d3e6c52 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -.idea +.idea* # ---> Node # Logs logs diff --git a/sql/create_db.sql b/sql/create_db.sql index 3bc783e..88cc2f3 100644 --- a/sql/create_db.sql +++ b/sql/create_db.sql @@ -1,32 +1,35 @@ CREATE DATABASE 'webshop' CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci; -# example link: https://fabric.inc/blog/commerce/ecommerce-database-design-example +-- example link: https://fabric.inc/blog/commerce/ecommerce-database-design-example CREATE TABLE 'user' ( - id int, + id int NOT NULL AUTO_INCREMENT, lower_name varchar(255), - name varchar(255), + name varchar(255) NOT NULL, full_name varchar(255), - email varchar(255), + email varchar(255) NOT NULL, passwd varchar(255), passwd_hash_algo varchar(255), is_admin bool, created_at timestamp, - modified_at timestamp + modified_at timestamp, + PRIMARY KEY (id), + UNIQUE (email, passwd) ); CREATE TABLE 'user_address' ( id int, - userid int, + user_id int, address_line1 varchar(255), address_line2 varchar(255), city varchar(255), postal_code varchar(255), - country varchar(255), + country varchar(2), telephone varchar(255), - mobile varchar(255) + mobile varchar(255), + UNIQUE (telephone, mobile, user_id) ); CREATE TABLE 'user_payment' @@ -36,7 +39,8 @@ CREATE TABLE 'user_payment' payment_type varchar(255), provider varchar(255), account_no int, - expiry date + expiry date, + UNIQUE (user_id) ); CREATE TABLE 'shopping_session' @@ -45,7 +49,8 @@ CREATE TABLE 'shopping_session' user_id varchar(255), total decimal, created_at timestamp, - modified_at timestamp + modified_at timestamp, + UNIQUE (user_id) ); CREATE TABLE 'cart_item' @@ -91,10 +96,13 @@ CREATE TABLE 'order_details' CREATE TABLE 'product' ( - id int, + id int NOT NULL, name varchar(255), - desc text, - SKU varchar(255), + color varchar(255), + make varchar(255), + model varchar(255) NOT NULL, + engine varchar(255), + description text, category_id int, inventory_id int, price decimal, @@ -108,11 +116,12 @@ CREATE TABLE 'product_category' ( id int, name varchar(255), - desc text, + description text, created_at timestamp, modified_at timestamp, deleted_at timestamp ); + CREATE TABLE 'product_inventory' ( id int, @@ -121,11 +130,12 @@ CREATE TABLE 'product_inventory' modified_at timestamp, deleted_at timestamp ); + CREATE TABLE 'discount' ( id int, name varchar(255), - desc text, + description text, discount_percent decimal, active bool, created_at timestamp, diff --git a/sql/delete_db.sql b/sql/delete_db.sql index 74a65f6..6549ee6 100644 --- a/sql/delete_db.sql +++ b/sql/delete_db.sql @@ -1 +1,12 @@ -DROP TABLE 'user'; +DROP TABLE IF EXISTS 'user'; +DROP TABLE IF EXISTS 'user_address'; +DROP TABLE IF EXISTS 'user_payment'; +DROP TABLE IF EXISTS 'shopping_session'; +DROP TABLE IF EXISTS 'cart_item'; +DROP TABLE IF EXISTS 'payment_details'; +DROP TABLE IF EXISTS 'order_items'; +DROP TABLE IF EXISTS 'order_details'; +DROP TABLE IF EXISTS 'product'; +DROP TABLE IF EXISTS 'product_category'; +DROP TABLE IF EXISTS 'product_inventory'; +DROP TABLE IF EXISTS 'discount';