Эх сурвалжийг харах

✨ feat(database): 添加菜单分类、商品、SKU及规格表结构

陈雪 2 долоо хоног өмнө
parent
commit
69863307b1

+ 10 - 9
src-tauri/resources/init.sql → src-tauri/resources/table_struct.sql

@@ -1,7 +1,7 @@
 -- 创建菜单分类表
 CREATE TABLE
     menu_cate (
-        id INTEGER PRIMARY KEY AUTOINCREMENT, -- 主键
+        id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, -- 主键
         name TEXT DEFAULT '', -- 分类名称
         logo TEXT DEFAULT '', -- 分类Logo
         local_logo TEXT DEFAULT '', -- 本地Logo路径
@@ -15,10 +15,8 @@ CREATE TABLE
 -- 创建商品表
 CREATE TABLE
     menu_commodity (
-        id INTEGER PRIMARY KEY AUTOINCREMENT, -- 主键
+        id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, -- 主键
         type TEXT DEFAULT 'product', -- 商品类型
-        merchant_id INTEGER DEFAULT 0, -- 商户ID
-        store_id INTEGER DEFAULT 0, -- 店铺ID
         name TEXT DEFAULT '', -- 商品名称
         cate_id INTEGER DEFAULT 0, -- 分类ID
         goods_no TEXT DEFAULT '', -- 商品编号
@@ -40,13 +38,14 @@ CREATE TABLE
         create_time DATETIME DEFAULT NULL, -- 创建时间
         update_time DATETIME DEFAULT NULL, -- 更新时间
         operator TEXT DEFAULT NULL, -- 操作员
-        status TEXT DEFAULT 'A' -- 状态 (A-Active, D-Deleted)
+        status TEXT DEFAULT 'A', -- 状态 (A-Active, D-Deleted)
+        FOREIGN KEY (cate_id) REFERENCES menu_cate (id)
     );
 
 -- 创建SKU表
 CREATE TABLE
     menu_sku (
-        id INTEGER PRIMARY KEY AUTOINCREMENT, -- 主键
+        id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, -- 主键
         sku_no TEXT DEFAULT '', -- SKU编号
         logo TEXT DEFAULT '', -- SKU Logo
         goods_id INTEGER NOT NULL DEFAULT 0, -- 商品ID
@@ -54,17 +53,19 @@ CREATE TABLE
         price REAL NOT NULL DEFAULT 0.00, -- 价格
         line_price REAL NOT NULL DEFAULT 0.00, -- 划线价
         weight REAL DEFAULT 0.00, -- 重量
-        status TEXT NOT NULL DEFAULT 'A' -- 状态 (A-Active, D-Deleted)
+        status TEXT NOT NULL DEFAULT 'A', -- 状态 (A-Active, D-Deleted)
+        FOREIGN KEY (goods_id) REFERENCES menu_commodity (id)
     );
 
 -- 创建规格表
 CREATE TABLE
     menu_spec (
-        id INTEGER PRIMARY KEY AUTOINCREMENT, -- 主键
+        id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, -- 主键
         goods_id INTEGER NOT NULL DEFAULT 0, -- 商品ID
         name TEXT NOT NULL DEFAULT '', -- 规格名称
         value TEXT NOT NULL DEFAULT '', -- 规格值
-        status TEXT DEFAULT 'A' -- 状态 (A-Active, D-Deleted)
+        status TEXT DEFAULT 'A', -- 状态 (A-Active, D-Deleted)
+        FOREIGN KEY (goods_id) REFERENCES menu_commodity (id)
     );
 
 -- 创建SKU和规格的中间表

+ 1 - 1
src-tauri/src/lib.rs

@@ -66,7 +66,7 @@ fn show_window(app: &AppHandle) {
 async fn migration_db(app: &tauri::App, conn: &DatabaseConnection) -> anyhow::Result<()> {
     let sql_path = app
         .path()
-        .resolve("resources/init.sql", BaseDirectory::Resource)?;
+        .resolve("resources/table_struct.sql", BaseDirectory::Resource)?;
     conn.execute(Statement::from_string(
         conn.get_database_backend(),
         "CREATE TABLE IF NOT EXISTS seaql_migrations (