Skip to content

Commit

Permalink
Added a phone number field to the 'users' table to store user contact…
Browse files Browse the repository at this point in the history
… information.
  • Loading branch information
GitHub Gen Changes committed Jun 19, 2024
1 parent 0b4132e commit f8ab4be
Show file tree
Hide file tree
Showing 3 changed files with 95 additions and 91 deletions.
2 changes: 2 additions & 0 deletions dirs/ecommerce/migrations/20240619070148.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
-- Modify "users" table
ALTER TABLE `users` ADD COLUMN `phone_number` varchar(15) NULL;
3 changes: 2 additions & 1 deletion dirs/ecommerce/migrations/atlas.sum
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
h1:fMiE5LqAjRrhAkhLqmqOpZYumQDQMSkEebG5xSVtNFo=
h1:JPZbznm1BP4Ap0A4eM2yB+xrEXyM7RJ3wxmz1UHePvE=
20230316085611.sql h1:br6W6LPEnnsejlz/7hRm9zthwStCzjN2vZkqVPxlmvo=
20230316090502.sql h1:GfeRjkSeoCt3JVRtLQNa/r50lRfpAPXS7AqTU2ZNFgY=
20230531091333_products_categories.sql h1:59q2M59dV5dJNv4Lyb2TAJz8V6HekgkLn9z4DoL98jA=
Expand All @@ -13,3 +13,4 @@ h1:fMiE5LqAjRrhAkhLqmqOpZYumQDQMSkEebG5xSVtNFo=
20240319115808_user_is_admin.sql h1:2DLidS3V0AKs8NqPAIUOlJjOUiUvVYPP0stOFSw6gS8=
20240324131640_order_comment.sql h1:TCduwlpoGZn9Zi6v5t3YzaAkeVgQX5fJ96ZbBJbR0MA=
20240617144354.sql h1:mGm4AgdRP4D1QN/FUNB71vqwLi/faoukUxc6OQVppVY=
20240619070148.sql h1:2gYd1ItQwUvPRsazYD5Xmo1iSoCMtpT3iQ16RbIkSFM=
181 changes: 91 additions & 90 deletions dirs/ecommerce/schema.sql
Original file line number Diff line number Diff line change
@@ -1,109 +1,110 @@
-- Create "users" table
-- Create 'users' table
CREATE TABLE `users` (
`id` int NOT NULL,
`user_name` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`is_admin` bool NULL DEFAULT 0,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
`id` int NOT NULL,
`user_name` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`phone_number` varchar(15) NULL,
`is_admin` bool NULL DEFAULT 0,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
-- Create "categories" table
-- Create 'categories' table
CREATE TABLE `categories` (
`id` int NOT NULL,
`category_name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
`id` int NOT NULL,
`category_name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
-- Create "products" table
-- Create 'products' table
CREATE TABLE `products` (
`id` int NOT NULL,
`product_name` varchar(255) NOT NULL,
`price` decimal(10,2) NOT NULL,
`category_id` int NULL,
PRIMARY KEY (`id`),
INDEX `category_id` (`category_id`),
UNIQUE INDEX `product_name` (`product_name`),
CONSTRAINT `products_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`) ON UPDATE NO ACTION ON DELETE SET NULL
`id` int NOT NULL,
`product_name` varchar(255) NOT NULL,
`price` decimal(10,2) NOT NULL,
`category_id` int NULL,
PRIMARY KEY (`id`),
INDEX `category_id` (`category_id`),
UNIQUE INDEX `product_name` (`product_name`),
CONSTRAINT `products_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`) ON UPDATE NO ACTION ON DELETE SET NULL
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
-- Create "product_reviews" table
-- Create 'product_reviews' table
CREATE TABLE `product_reviews` (
`id` int NOT NULL,
`product_id` int NOT NULL,
`user_id` int NOT NULL,
`rating` int NOT NULL,
`review_text` text NOT NULL,
PRIMARY KEY (`id`),
INDEX `product_id` (`product_id`),
INDEX `user_id` (`user_id`),
CONSTRAINT `product_reviews_ibfk_1` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE,
CONSTRAINT `product_reviews_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE
`id` int NOT NULL,
`product_id` int NOT NULL,
`user_id` int NOT NULL,
`rating` int NOT NULL,
`review_text` text NOT NULL,
PRIMARY KEY (`id`),
INDEX `product_id` (`product_id`),
INDEX `user_id` (`user_id`),
CONSTRAINT `product_reviews_ibfk_1` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE,
CONSTRAINT `product_reviews_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
-- Create "comments" table
-- Create 'comments' table
CREATE TABLE `comments` (
`id` int NOT NULL,
`user_id` int NOT NULL,
`review_id` int NULL,
`parent_comment_id` int NULL,
`comment_text` text NOT NULL,
PRIMARY KEY (`id`),
INDEX `parent_comment_id` (`parent_comment_id`),
INDEX `review_id` (`review_id`),
INDEX `user_id` (`user_id`),
CONSTRAINT `comments_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE,
CONSTRAINT `comments_ibfk_2` FOREIGN KEY (`review_id`) REFERENCES `product_reviews` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE,
CONSTRAINT `comments_ibfk_3` FOREIGN KEY (`parent_comment_id`) REFERENCES `comments` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE
`id` int NOT NULL,
`user_id` int NOT NULL,
`review_id` int NULL,
`parent_comment_id` int NULL,
`comment_text` text NOT NULL,
PRIMARY KEY (`id`),
INDEX `parent_comment_id` (`parent_comment_id`),
INDEX `review_id` (`review_id`),
INDEX `user_id` (`user_id`),
CONSTRAINT `comments_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE,
CONSTRAINT `comments_ibfk_2` FOREIGN KEY (`review_id`) REFERENCES `product_reviews` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE,
CONSTRAINT `comments_ibfk_3` FOREIGN KEY (`parent_comment_id`) REFERENCES `comments` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
-- Create "fulfillment_centers" table
-- Create 'fulfillment_centers' table
CREATE TABLE `fulfillment_centers` (
`id` int NOT NULL,
`name` varchar(255) NOT NULL,
`location` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
`id` int NOT NULL,
`name` varchar(255) NOT NULL,
`location` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
-- Create "inventory" table
-- Create 'inventory' table
CREATE TABLE `inventory` (
`id` int NOT NULL,
`product_id` int NOT NULL,
`fulfillment_center_id` int NOT NULL,
`quantity` int NOT NULL,
PRIMARY KEY (`id`),
INDEX `fulfillment_center_id` (`fulfillment_center_id`),
INDEX `product_id` (`product_id`),
CONSTRAINT `inventory_ibfk_1` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE,
CONSTRAINT `inventory_ibfk_2` FOREIGN KEY (`fulfillment_center_id`) REFERENCES `fulfillment_centers` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE
`id` int NOT NULL,
`product_id` int NOT NULL,
`fulfillment_center_id` int NOT NULL,
`quantity` int NOT NULL,
PRIMARY KEY (`id`),
INDEX `fulfillment_center_id` (`fulfillment_center_id`),
INDEX `product_id` (`product_id`),
CONSTRAINT `inventory_ibfk_1` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE,
CONSTRAINT `inventory_ibfk_2` FOREIGN KEY (`fulfillment_center_id`) REFERENCES `fulfillment_centers` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
-- Create "orders" table
-- Create 'orders' table
CREATE TABLE `orders` (
`id` int NOT NULL,
`user_id` int NOT NULL,
`fulfillment_center_id` int NOT NULL,
`total_amount` decimal(10,2) NOT NULL,
`comment` varchar(100) NULL,
PRIMARY KEY (`id`),
INDEX `fulfillment_center_id` (`fulfillment_center_id`),
INDEX `user_id` (`user_id`),
CONSTRAINT `orders_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE,
CONSTRAINT `orders_ibfk_2` FOREIGN KEY (`fulfillment_center_id`) REFERENCES `fulfillment_centers` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE
`id` int NOT NULL,
`user_id` int NOT NULL,
`fulfillment_center_id` int NOT NULL,
`total_amount` decimal(10,2) NOT NULL,
`comment` varchar(100) NULL,
PRIMARY KEY (`id`),
INDEX `fulfillment_center_id` (`fulfillment_center_id`),
INDEX `user_id` (`user_id`),
CONSTRAINT `orders_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE,
CONSTRAINT `orders_ibfk_2` FOREIGN KEY (`fulfillment_center_id`) REFERENCES `fulfillment_centers` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
-- Create "order_items" table
-- Create 'order_items' table
CREATE TABLE `order_items` (
`id` int NOT NULL,
`order_id` int NOT NULL,
`product_id` int NOT NULL,
`quantity` int NOT NULL,
`price` decimal(10,2) NOT NULL,
PRIMARY KEY (`id`),
INDEX `order_id` (`order_id`),
INDEX `product_id` (`product_id`),
CONSTRAINT `order_items_ibfk_1` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE,
CONSTRAINT `order_items_ibfk_2` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE
`id` int NOT NULL,
`order_id` int NOT NULL,
`product_id` int NOT NULL,
`quantity` int NOT NULL,
`price` decimal(10,2) NOT NULL,
PRIMARY KEY (`id`),
INDEX `order_id` (`order_id`),
INDEX `product_id` (`product_id`),
CONSTRAINT `order_items_ibfk_1` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE,
CONSTRAINT `order_items_ibfk_2` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
-- Create "posts" table
-- Create 'posts' table
CREATE TABLE `posts` (
`id` int NOT NULL,
`user_id` int NOT NULL,
`title` varchar(255) NOT NULL,
`body` text NOT NULL,
PRIMARY KEY (`id`),
INDEX `user_id` (`user_id`),
CONSTRAINT `posts_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
`id` int NOT NULL,
`user_id` int NOT NULL,
`title` varchar(255) NOT NULL,
`body` text NOT NULL,
PRIMARY KEY (`id`),
INDEX `user_id` (`user_id`),
CONSTRAINT `posts_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON UPDATE NO ACTION ON DELETE CASCADE
) CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

0 comments on commit f8ab4be

Please sign in to comment.