Browse Source

✨ feat(database): 更新菜单分类和商品表的创建时间和更新时间字段,添加更新时间触发器

陈雪 2 weeks ago
parent
commit
adbd1bfcae
1 changed files with 27 additions and 5 deletions
  1. 27 5
      src-tauri/resources/table_struct.sql

+ 27 - 5
src-tauri/resources/table_struct.sql

@@ -6,8 +6,8 @@ CREATE TABLE
         logo TEXT DEFAULT '', -- 分类Logo
         local_logo TEXT DEFAULT '', -- 本地Logo路径
         description TEXT, -- 分类描述
-        create_time DATETIME DEFAULT NULL, -- 创建时间
-        update_time DATETIME DEFAULT NULL, -- 更新时间
+        create_time DATETIME DEFAULT CURRENT_TIMESTAMP, -- 创建时间
+        update_time DATETIME DEFAULT CURRENT_TIMESTAMP, -- 更新时间
         sort INTEGER DEFAULT 0, -- 排序
         status TEXT DEFAULT 'A' -- 状态 (A-Active, D-Deleted)
     );
@@ -35,8 +35,8 @@ CREATE TABLE
         is_member_discount TEXT DEFAULT 'Y', -- 是否会员折扣 (Y-Yes, N-No)
         sort INTEGER DEFAULT 0, -- 排序
         description TEXT, -- 商品描述
-        create_time DATETIME DEFAULT NULL, -- 创建时间
-        update_time DATETIME DEFAULT NULL, -- 更新时间
+        create_time DATETIME DEFAULT CURRENT_TIMESTAMP, -- 创建时间
+        update_time DATETIME DEFAULT CURRENT_TIMESTAMP, -- 更新时间
         operator TEXT DEFAULT NULL, -- 操作员
         status TEXT DEFAULT 'A', -- 状态 (A-Active, D-Deleted)
         FOREIGN KEY (cate_id) REFERENCES menu_cate (id)
@@ -76,4 +76,26 @@ CREATE TABLE
         PRIMARY KEY (sku_id, spec_id),
         FOREIGN KEY (sku_id) REFERENCES menu_sku (id),
         FOREIGN KEY (spec_id) REFERENCES menu_spec (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;