first commit
This commit is contained in:
130
target/classes/db/migration/V1__init_schema.sql
Normal file
130
target/classes/db/migration/V1__init_schema.sql
Normal file
@@ -0,0 +1,130 @@
|
||||
-- 创建用户表
|
||||
CREATE TABLE IF NOT EXISTS cf_user (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
tenant_id VARCHAR(255) NOT NULL,
|
||||
username VARCHAR(255) NOT NULL UNIQUE,
|
||||
password VARCHAR(255) NOT NULL,
|
||||
email VARCHAR(255) NOT NULL UNIQUE,
|
||||
role VARCHAR(50),
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- 创建商品表
|
||||
CREATE TABLE IF NOT EXISTS cf_product (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
tenant_id VARCHAR(255) NOT NULL,
|
||||
shop_id VARCHAR(255),
|
||||
title VARCHAR(255) NOT NULL,
|
||||
description TEXT,
|
||||
main_image VARCHAR(255),
|
||||
platform VARCHAR(50),
|
||||
platform_product_id VARCHAR(255),
|
||||
price DECIMAL(10,2),
|
||||
cost_price DECIMAL(10,2),
|
||||
quantity INT,
|
||||
status VARCHAR(50),
|
||||
phash VARCHAR(255),
|
||||
semantic_hash VARCHAR(255),
|
||||
vector_embedding TEXT,
|
||||
attributes JSON,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- 创建订单表
|
||||
CREATE TABLE IF NOT EXISTS cf_order (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
tenant_id VARCHAR(255) NOT NULL,
|
||||
shop_id VARCHAR(255),
|
||||
platform VARCHAR(50),
|
||||
platform_order_id VARCHAR(255),
|
||||
status VARCHAR(50),
|
||||
total_amount DECIMAL(10,2),
|
||||
currency VARCHAR(10),
|
||||
customer_info JSON,
|
||||
items JSON,
|
||||
shipping_address JSON,
|
||||
tracking_number VARCHAR(255),
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- 创建支付表
|
||||
CREATE TABLE IF NOT EXISTS cf_payment (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
tenant_id VARCHAR(255) NOT NULL,
|
||||
order_id BIGINT,
|
||||
payment_method VARCHAR(50),
|
||||
amount DECIMAL(10,2),
|
||||
currency VARCHAR(10),
|
||||
status VARCHAR(50),
|
||||
transaction_id VARCHAR(255),
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (order_id) REFERENCES cf_order(id)
|
||||
);
|
||||
|
||||
-- 创建物流表
|
||||
CREATE TABLE IF NOT EXISTS cf_logistics (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
tenant_id VARCHAR(255) NOT NULL,
|
||||
order_id BIGINT,
|
||||
shipping_method VARCHAR(50),
|
||||
tracking_number VARCHAR(255),
|
||||
carrier VARCHAR(50),
|
||||
status VARCHAR(50),
|
||||
estimated_delivery_date DATETIME,
|
||||
actual_delivery_date DATETIME,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (order_id) REFERENCES cf_order(id)
|
||||
);
|
||||
|
||||
-- 创建配置表
|
||||
CREATE TABLE IF NOT EXISTS cf_config (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
tenant_id VARCHAR(255),
|
||||
shop_id VARCHAR(255),
|
||||
config_key VARCHAR(255) NOT NULL,
|
||||
config_value VARCHAR(255) NOT NULL,
|
||||
config_type VARCHAR(50),
|
||||
description TEXT,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- 创建审计表
|
||||
CREATE TABLE IF NOT EXISTS cf_audit (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
tenant_id VARCHAR(255),
|
||||
shop_id VARCHAR(255),
|
||||
user_id BIGINT,
|
||||
action VARCHAR(255),
|
||||
resource_type VARCHAR(255),
|
||||
resource_id VARCHAR(255),
|
||||
ip_address VARCHAR(100),
|
||||
user_agent TEXT,
|
||||
details TEXT,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- 创建索引
|
||||
CREATE INDEX IF NOT EXISTS idx_user_tenant_id ON cf_user(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_product_tenant_id ON cf_product(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_product_platform ON cf_product(platform);
|
||||
CREATE INDEX IF NOT EXISTS idx_order_tenant_id ON cf_order(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_order_platform ON cf_order(platform);
|
||||
CREATE INDEX IF NOT EXISTS idx_payment_tenant_id ON cf_payment(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_payment_order_id ON cf_payment(order_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_logistics_tenant_id ON cf_logistics(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_logistics_order_id ON cf_logistics(order_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_config_tenant_id ON cf_config(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_config_shop_id ON cf_config(shop_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_config_key ON cf_config(config_key);
|
||||
CREATE INDEX IF NOT EXISTS idx_audit_tenant_id ON cf_audit(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_audit_shop_id ON cf_audit(shop_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_audit_user_id ON cf_audit(user_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_audit_action ON cf_audit(action);
|
||||
CREATE INDEX IF NOT EXISTS idx_audit_resource_type ON cf_audit(resource_type);
|
||||
CREATE INDEX IF NOT EXISTS idx_audit_created_at ON cf_audit(created_at);
|
||||
Reference in New Issue
Block a user