فهرست منبع

✨ feat(database): 新增多个表的更新时间触发器和订单退款表

陈雪 1 روز پیش
والد
کامیت
40835e6c04
1فایلهای تغییر یافته به همراه76 افزوده شده و 51 حذف شده
  1. 76 51
      src-tauri/resources/table_struct.sql

+ 76 - 51
src-tauri/resources/table_struct.sql

@@ -11,6 +11,17 @@ CREATE TABLE
         status INTEGER NOT NULL DEFAULT 1 -- 状态 (1-Active, 0-Inactive)
     );
 
+-- 新增菜单分类表的更新时间触发器
+CREATE TRIGGER trg_menu_cate_update_time AFTER
+UPDATE ON menu_cate FOR EACH ROW WHEN NEW.update_time = OLD.update_time BEGIN
+UPDATE menu_cate
+SET
+    update_time = CURRENT_TIMESTAMP
+WHERE
+    id = OLD.id;
+
+END;
+
 -- 创建商品表
 CREATE TABLE
     menu_commodity (
@@ -31,6 +42,17 @@ CREATE TABLE
         FOREIGN KEY (cate_id) REFERENCES menu_cate (id)
     );
 
+-- 新增订单退款表的更新时间触发器
+CREATE TRIGGER trg_order_refund_update_time AFTER
+UPDATE ON menu_commodity FOR EACH ROW WHEN NEW.update_time = OLD.update_time BEGIN
+UPDATE menu_commodity
+SET
+    update_time = CURRENT_TIMESTAMP
+WHERE
+    id = OLD.id;
+
+END;
+
 -- 创建SKU表
 CREATE TABLE
     menu_sku (
@@ -88,6 +110,17 @@ CREATE TABLE
         goods TEXT NOT NULL DEFAULT '{}' -- 订单商品信息
     );
 
+-- 新增订单表的更新时间触发器
+CREATE TRIGGER trg_order_update_time AFTER
+UPDATE ON store_order FOR EACH ROW WHEN NEW.update_time = OLD.update_time BEGIN
+UPDATE store_order
+SET
+    update_time = CURRENT_TIMESTAMP
+WHERE
+    id = OLD.id;
+
+END;
+
 -- 创建店铺材料表信息
 CREATE TABLE
     store_material (
@@ -106,6 +139,17 @@ CREATE TABLE
         status INTEGER NOT NULL DEFAULT 1 -- 状态0下架1上架
     );
 
+-- 新增材料表的更新时间触发器
+CREATE TRIGGER trg_material_update_time AFTER
+UPDATE ON store_material FOR EACH ROW WHEN NEW.update_time = OLD.update_time BEGIN
+UPDATE store_material
+SET
+    update_time = CURRENT_TIMESTAMP
+WHERE
+    id = OLD.id;
+
+END;
+
 -- 店铺区域表
 CREATE TABLE
     store_area (
@@ -117,6 +161,17 @@ CREATE TABLE
         status INTEGER NOT NULL DEFAULT 1 -- 状态 (1-有效, 0-无效)
     );
 
+-- 新增区域表的更新时间触发器
+CREATE TRIGGER trg_area_update_time AFTER
+UPDATE ON store_area FOR EACH ROW WHEN NEW.update_time = OLD.update_time BEGIN
+UPDATE store_area
+SET
+    update_time = CURRENT_TIMESTAMP
+WHERE
+    id = OLD.id;
+
+END;
+
 -- 店铺座位表
 CREATE TABLE
     store_table (
@@ -130,43 +185,10 @@ CREATE TABLE
         FOREIGN KEY (area_id) REFERENCES store_area (id)
     );
 
--- 新增菜单分类表的更新时间触发器
-CREATE TRIGGER trg_menu_cate_update_time AFTER
-UPDATE ON menu_cate FOR EACH ROW WHEN NEW.update_time = OLD.update_time BEGIN
-UPDATE menu_cate
-SET
-    update_time = CURRENT_TIMESTAMP
-WHERE
-    id = OLD.id;
-
-END;
-
--- 新增商品表的更新时间触发器
-CREATE TRIGGER trg_menu_commodity_update_time AFTER
-UPDATE ON menu_commodity FOR EACH ROW WHEN NEW.update_time = OLD.update_time BEGIN
-UPDATE menu_commodity
-SET
-    update_time = CURRENT_TIMESTAMP
-WHERE
-    id = OLD.id;
-
-END;
-
--- 新增订单表的更新时间触发器
-CREATE TRIGGER trg_order_update_time AFTER
-UPDATE ON store_order FOR EACH ROW WHEN NEW.update_time = OLD.update_time BEGIN
-UPDATE store_order
-SET
-    update_time = CURRENT_TIMESTAMP
-WHERE
-    id = OLD.id;
-
-END;
-
--- 新增材料表的更新时间触发器
-CREATE TRIGGER trg_material_update_time AFTER
-UPDATE ON store_material FOR EACH ROW WHEN NEW.update_time = OLD.update_time BEGIN
-UPDATE store_material
+-- 新增桌子表的更新时间触发器
+CREATE TRIGGER trg_table_update_time AFTER
+UPDATE ON store_table FOR EACH ROW WHEN NEW.update_time = OLD.update_time BEGIN
+UPDATE store_table
 SET
     update_time = CURRENT_TIMESTAMP
 WHERE
@@ -174,21 +196,24 @@ WHERE
 
 END;
 
--- 新增区域表的更新时间触发器
-CREATE TRIGGER trg_area_update_time AFTER
-UPDATE ON store_area FOR EACH ROW WHEN NEW.update_time = OLD.update_time BEGIN
-UPDATE store_area
-SET
-    update_time = CURRENT_TIMESTAMP
-WHERE
-    id = OLD.id;
-
-END;
+-- 创建订单退款表
+CREATE TABLE
+    store_order_refund (
+        id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, -- 主键
+        order_id INTEGER NOT NULL, -- 关联订单ID
+        refund_amount REAL NOT NULL DEFAULT 0.00, -- 退款金额
+        refund_reason TEXT NOT NULL DEFAULT '', -- 退款原因
+        refund_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, -- 退款时间
+        create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, -- 创建时间
+        update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, -- 更新时间
+        status INTEGER NOT NULL DEFAULT 1, -- 状态 (1-有效, 0-无效)
+        FOREIGN KEY (order_id) REFERENCES store_order (id)
+    );
 
--- 新增桌子表的更新时间触发器
-CREATE TRIGGER trg_table_update_time AFTER
-UPDATE ON store_table FOR EACH ROW WHEN NEW.update_time = OLD.update_time BEGIN
-UPDATE store_table
+-- 新增订单退款表的更新时间触发器
+CREATE TRIGGER trg_order_refund_update_time AFTER
+UPDATE ON store_order_refund FOR EACH ROW WHEN NEW.update_time = OLD.update_time BEGIN
+UPDATE store_order_refund
 SET
     update_time = CURRENT_TIMESTAMP
 WHERE