File manager - Edit - /home/webapp69.cm.in.th/u69319090023/Shop23/api/schema.sql
Back
-- ======================================================= -- Database Schema for CMTC Shop (Shop23) -- Charset: utf8mb4, Collation: utf8mb4_unicode_ci -- ======================================================= CREATE TABLE IF NOT EXISTS `users` ( `id` VARCHAR(50) PRIMARY KEY, `email` VARCHAR(191) NOT NULL UNIQUE, `password_hash` VARCHAR(255) NULL, `full_name` VARCHAR(255) NOT NULL, `role` ENUM('admin', 'merchant', 'customer') DEFAULT 'customer', `status` ENUM('pending', 'approved') DEFAULT 'approved', `phone` VARCHAR(30) NULL, `store_type` VARCHAR(100) NULL, `logo` VARCHAR(255) NULL, `avatar_url` TEXT NULL, `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP, `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE IF NOT EXISTS `products` ( `id` VARCHAR(50) PRIMARY KEY, `name` VARCHAR(255) NOT NULL, `slug` VARCHAR(255) NOT NULL UNIQUE, `description` TEXT NULL, `price` DECIMAL(10,2) NOT NULL DEFAULT 0.00, `compare_at_price` DECIMAL(10,2) NULL, `images_json` TEXT NULL, -- JSON array of image URLs `category_id` VARCHAR(50) NOT NULL, `rating` DECIMAL(3,2) DEFAULT 5.00, `reviews_count` INT DEFAULT 0, `sizes_json` TEXT NULL, -- JSON array of size strings `is_new` TINYINT(1) DEFAULT 0, `is_recommended` TINYINT(1) DEFAULT 0, `is_pre_order` TINYINT(1) DEFAULT 0, `season_tag` VARCHAR(100) NULL, `stock_count` INT DEFAULT 100, `in_stock` TINYINT(1) DEFAULT 1, `department_slugs_json` TEXT NULL, -- JSON array of department slugs `merchant_email` VARCHAR(191) NULL, `video_url` TEXT NULL, `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP, `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE IF NOT EXISTS `orders` ( `id` VARCHAR(50) PRIMARY KEY, `user_email` VARCHAR(191) NULL, `total_amount` DECIMAL(10,2) NOT NULL DEFAULT 0.00, `status` ENUM('pending', 'processing', 'shipped', 'delivered', 'cancelled') DEFAULT 'pending', `payment_method` ENUM('bank_transfer', 'credit_card', 'cod') DEFAULT 'bank_transfer', `tracking_code` VARCHAR(50) NULL, `items_json` LONGTEXT NOT NULL, -- JSON array of cart items `shipping_recipient_name` VARCHAR(255) NOT NULL, `shipping_phone` VARCHAR(50) NOT NULL, `shipping_address_line` TEXT NOT NULL, `shipping_subdistrict` VARCHAR(100) NOT NULL, `shipping_district` VARCHAR(100) NOT NULL, `shipping_province` VARCHAR(100) NOT NULL, `shipping_postal_code` VARCHAR(20) NOT NULL, `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP, `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE IF NOT EXISTS `addresses` ( `id` VARCHAR(50) PRIMARY KEY, `user_email` VARCHAR(191) NOT NULL, `recipient_name` VARCHAR(255) NOT NULL, `phone` VARCHAR(50) NOT NULL, `address_line` TEXT NOT NULL, `subdistrict` VARCHAR(100) NOT NULL, `district` VARCHAR(100) NOT NULL, `province` VARCHAR(100) NOT NULL, `postal_code` VARCHAR(20) NOT NULL, `is_default` TINYINT(1) DEFAULT 0, `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE IF NOT EXISTS `coupons` ( `id` VARCHAR(50) PRIMARY KEY, `code` VARCHAR(50) NOT NULL UNIQUE, `discount_type` ENUM('fixed', 'percent') NOT NULL DEFAULT 'percent', `discount_value` DECIMAL(10,2) NOT NULL, `min_order_amount` DECIMAL(10,2) DEFAULT 0.00, `max_discount` DECIMAL(10,2) NULL, `expiry_date` DATE NULL, `is_active` TINYINT(1) DEFAULT 1, `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- Insert default admin user if not exists INSERT INTO `users` (`id`, `email`, `password_hash`, `full_name`, `role`, `status`, `phone`) VALUES ('usr_admin', 'admin@cmtc.ac.th', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'ผู้ดูแลระบบส่วนกลาง (Admin)', 'admin', 'approved', '0812345678') ON DUPLICATE KEY UPDATE `email`=`email`;
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.28 |
proxy
|
phpinfo
|
Settings