diff --git a/docker-compose.yml b/docker-compose.yml index dc5134c7..f3e37bd5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,10 +1,8 @@ -version: '3.8' - services: server: build: ./server ports: - - "3000:3000" + - "2850:3000" environment: DB_HOST: ${DB_HOST:-192.168.195.15} DB_PORT: ${DB_PORT:-3306} @@ -21,7 +19,7 @@ services: admin: build: ./admin ports: - - "8080:80" + - "2851:80" depends_on: - server diff --git a/server/migrations/001_init.sql b/server/migrations/001_init.sql index 31e63344..94f4c470 100644 --- a/server/migrations/001_init.sql +++ b/server/migrations/001_init.sql @@ -1,6 +1,7 @@ -- 用户表 CREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, + uid VARCHAR(20) DEFAULT NULL, open_id VARCHAR(128) NOT NULL UNIQUE, nickname VARCHAR(64) NOT NULL DEFAULT '', avatar VARCHAR(512) NOT NULL DEFAULT '', @@ -27,17 +28,17 @@ CREATE TABLE IF NOT EXISTS products ( total_stock INT NOT NULL DEFAULT 0, loss DECIMAL(8,4) NOT NULL DEFAULT 0, labor_cost DECIMAL(12,2) NOT NULL DEFAULT 0, - category_id INT DEFAULT NULL, + category_id VARCHAR(255) DEFAULT NULL, banner_images JSON DEFAULT NULL, - banner_video VARCHAR(512) DEFAULT NULL, + banner_video JSON DEFAULT NULL, + detail_images JSON DEFAULT NULL, thumb VARCHAR(512) DEFAULT NULL, side_stone VARCHAR(64) DEFAULT '', style VARCHAR(64) DEFAULT '', setting VARCHAR(64) DEFAULT '', status ENUM('on','off') NOT NULL DEFAULT 'on', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - FOREIGN KEY (category_id) REFERENCES categories(id) ON DELETE SET NULL + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- 详细参数配置表 @@ -57,6 +58,7 @@ CREATE TABLE IF NOT EXISTS spec_data ( model_name VARCHAR(128) NOT NULL DEFAULT '', fineness VARCHAR(64) NOT NULL DEFAULT '', main_stone VARCHAR(64) NOT NULL DEFAULT '', + sub_stone VARCHAR(100) DEFAULT '', ring_size VARCHAR(32) NOT NULL DEFAULT '', gold_total_weight DECIMAL(10,4) NOT NULL DEFAULT 0, gold_net_weight DECIMAL(10,4) NOT NULL DEFAULT 0, @@ -98,7 +100,7 @@ CREATE TABLE IF NOT EXISTS orders ( id INT AUTO_INCREMENT PRIMARY KEY, order_no VARCHAR(32) NOT NULL UNIQUE, user_id INT NOT NULL, - status ENUM('pending','paid','shipped','cancelled') NOT NULL DEFAULT 'pending', + status ENUM('pending','paid','shipped','received','cancelled') NOT NULL DEFAULT 'pending', total_price DECIMAL(12,2) NOT NULL DEFAULT 0, receiver_name VARCHAR(64) NOT NULL DEFAULT '', receiver_phone VARCHAR(20) NOT NULL DEFAULT '', @@ -107,6 +109,7 @@ CREATE TABLE IF NOT EXISTS orders ( payment_proof VARCHAR(512) DEFAULT NULL, shipping_company VARCHAR(64) DEFAULT NULL, shipping_no VARCHAR(64) DEFAULT NULL, + received_at DATETIME DEFAULT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE @@ -161,3 +164,11 @@ CREATE TABLE IF NOT EXISTS category_filters ( sort INT NOT NULL DEFAULT 0, FOREIGN KEY (category_id) REFERENCES categories(id) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- 系统配置表 +CREATE TABLE IF NOT EXISTS system_configs ( + id INT AUTO_INCREMENT PRIMARY KEY, + config_key VARCHAR(64) NOT NULL UNIQUE, + config_value TEXT DEFAULT NULL, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;