table_struct.sql 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. -- 创建菜单分类表
  2. CREATE TABLE
  3. menu_cate (
  4. id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, -- 主键
  5. name TEXT NOT NULL DEFAULT '', -- 分类名称
  6. logo TEXT NOT NULL DEFAULT '', -- 分类Logo
  7. description TEXT, -- 分类描述
  8. create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, -- 创建时间
  9. update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, -- 更新时间
  10. sort INTEGER NOT NULL DEFAULT 0, -- 排序
  11. status INTEGER NOT NULL DEFAULT 1 -- 状态 (1-Active, 0-Inactive)
  12. );
  13. -- 创建商品表
  14. CREATE TABLE
  15. menu_commodity (
  16. id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, -- 主键
  17. name TEXT NOT NULL DEFAULT '', -- 商品名称
  18. cate_id INTEGER NOT NULL DEFAULT 0, -- 分类ID
  19. goods_no TEXT NOT NULL DEFAULT '', -- 商品编号
  20. is_single_spec INTEGER NOT NULL DEFAULT 1, -- 是否单规格 (1-单规格, 0-多规格)
  21. logo TEXT NOT NULL DEFAULT '', -- 商品Logo
  22. price REAL NOT NULL DEFAULT 0.00, -- 价格
  23. line_price REAL NOT NULL DEFAULT 0.00, -- 商品原价
  24. stock INTEGER NOT NULL DEFAULT 0, -- 库存
  25. sort INTEGER NOT NULL DEFAULT 0, -- 排序
  26. description TEXT NOT NULL DEFAULT '', -- 商品描述
  27. create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, -- 创建时间
  28. update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, -- 更新时间
  29. status INTEGER NOT NULL DEFAULT 1, -- 状态 (1-Active, 0-Inactive),
  30. FOREIGN KEY (cate_id) REFERENCES menu_cate (id)
  31. );
  32. -- 创建SKU表
  33. CREATE TABLE
  34. menu_sku (
  35. id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, -- 主键
  36. sku_no TEXT NOT NULL DEFAULT '', -- SKU编号
  37. logo TEXT NOT NULL DEFAULT '', -- SKU Logo
  38. goods_id INTEGER NOT NULL DEFAULT 0, -- 商品ID
  39. stock INTEGER NOT NULL DEFAULT 0, -- 库存
  40. price REAL NOT NULL DEFAULT 0.00, -- 价格
  41. line_price REAL NOT NULL DEFAULT 0.00, -- 商品原价
  42. status INTEGER NOT NULL DEFAULT 1, -- 状态 (1-Active, 0-Inactive),
  43. FOREIGN KEY (goods_id) REFERENCES menu_commodity (id)
  44. );
  45. -- 创建规格表
  46. CREATE TABLE
  47. menu_spec (
  48. id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, -- 主键
  49. goods_id INTEGER NOT NULL DEFAULT 0, -- 商品ID
  50. name TEXT NOT NULL DEFAULT '', -- 规格名称
  51. value TEXT NOT NULL DEFAULT '', -- 规格值
  52. status INTEGER NOT NULL DEFAULT 1, -- 状态 (1-Active, 0-Inactive),
  53. FOREIGN KEY (goods_id) REFERENCES menu_commodity (id)
  54. );
  55. -- 创建SKU和规格的中间表
  56. CREATE TABLE
  57. menu_sku_spec (
  58. sku_id INTEGER NOT NULL, -- SKU ID
  59. spec_id INTEGER NOT NULL, -- 规格ID
  60. PRIMARY KEY (sku_id, spec_id),
  61. FOREIGN KEY (sku_id) REFERENCES menu_sku (id),
  62. FOREIGN KEY (spec_id) REFERENCES menu_spec (id)
  63. );
  64. -- 创建店铺订单表信息
  65. CREATE TABLE
  66. store_order (
  67. id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, -- 自增ID
  68. order_sn TEXT NOT NULL DEFAULT '', -- 订单号
  69. table_id INTEGER NOT NULL, -- 所属桌码ID
  70. pay_type INTEGER NOT NULL DEFAULT 0, -- 支付方式 (1-现金, 0-Paypal)
  71. amount REAL NOT NULL DEFAULT 0.00, -- 订单金额
  72. pay_amount REAL NOT NULL DEFAULT 0.00, -- 支付金额
  73. discount REAL NOT NULL DEFAULT 0.00, -- 折扣金额
  74. param TEXT NOT NULL DEFAULT '', -- 订单参数
  75. service_fee REAL DEFAULT NULL, -- 服务费
  76. remark TEXT NOT NULL DEFAULT '', -- 用户备注
  77. create_time DATETIME DEFAULT NULL, -- 创建时间
  78. update_time DATETIME DEFAULT NULL, -- 更新时间
  79. status TEXT NOT NULL DEFAULT 'A', -- 订单状态
  80. pay_time DATETIME DEFAULT NULL, -- 支付时间
  81. pay_status INTEGER NOT NULL DEFAULT 1, -- 支付状态
  82. settle_status INTEGER NOT NULL DEFAULT 1, -- 结算状态
  83. goods TEXT NOT NULL DEFAULT '{}' -- 订单商品信息
  84. );
  85. -- 创建店铺材料表信息
  86. CREATE TABLE
  87. store_material (
  88. id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, -- 材料表id
  89. material_no TEXT NOT NULL, -- 材料编号
  90. material_type TEXT NOT NULL, -- 材料类别
  91. name TEXT NOT NULL, -- 材料名称
  92. specification TEXT NOT NULL, -- 规格
  93. inventory INTEGER NOT NULL DEFAULT 0, -- 库存数量
  94. shelf_life INTEGER NOT NULL DEFAULT 0, -- 保质期
  95. unit TEXT NOT NULL, -- 单位
  96. img TEXT NOT NULL, -- 材料文件/图片id
  97. purchase_period INTEGER NOT NULL DEFAULT 0, -- 采购期数
  98. create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, -- 创建时间
  99. update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, -- 更新时间
  100. status INTEGER NOT NULL DEFAULT 1 -- 状态0下架1上架
  101. );
  102. -- 店铺区域表
  103. CREATE TABLE
  104. store_area (
  105. id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, -- 区域id
  106. name TEXT NOT NULL, -- 区域名称
  107. description TEXT NOT NULL DEFAULT '', -- 区域描述
  108. create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, -- 创建时间
  109. update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, -- 更新时间
  110. status INTEGER NOT NULL DEFAULT 1 -- 状态 (1-有效, 0-无效)
  111. );
  112. -- 店铺座位表
  113. CREATE TABLE
  114. store_table (
  115. id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, -- 桌子id
  116. area_id INTEGER NOT NULL, -- 所属区域id
  117. table_no TEXT NOT NULL, -- 桌号
  118. capacity INTEGER NOT NULL DEFAULT 0, -- 座位数
  119. create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, -- 创建时间
  120. update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, -- 更新时间
  121. status INTEGER NOT NULL DEFAULT 1, -- 状态 (1-有效, 0-无效)
  122. FOREIGN KEY (area_id) REFERENCES store_area (id)
  123. );
  124. -- 新增菜单分类表的更新时间触发器
  125. CREATE TRIGGER trg_menu_cate_update_time AFTER
  126. UPDATE ON menu_cate FOR EACH ROW WHEN NEW.update_time = OLD.update_time BEGIN
  127. UPDATE menu_cate
  128. SET
  129. update_time = CURRENT_TIMESTAMP
  130. WHERE
  131. id = OLD.id;
  132. END;
  133. -- 新增商品表的更新时间触发器
  134. CREATE TRIGGER trg_menu_commodity_update_time AFTER
  135. UPDATE ON menu_commodity FOR EACH ROW WHEN NEW.update_time = OLD.update_time BEGIN
  136. UPDATE menu_commodity
  137. SET
  138. update_time = CURRENT_TIMESTAMP
  139. WHERE
  140. id = OLD.id;
  141. END;
  142. -- 新增订单表的更新时间触发器
  143. CREATE TRIGGER trg_order_update_time AFTER
  144. UPDATE ON store_order FOR EACH ROW WHEN NEW.update_time = OLD.update_time BEGIN
  145. UPDATE store_order
  146. SET
  147. update_time = CURRENT_TIMESTAMP
  148. WHERE
  149. id = OLD.id;
  150. END;
  151. -- 新增材料表的更新时间触发器
  152. CREATE TRIGGER trg_material_update_time AFTER
  153. UPDATE ON store_material FOR EACH ROW WHEN NEW.update_time = OLD.update_time BEGIN
  154. UPDATE store_material
  155. SET
  156. update_time = CURRENT_TIMESTAMP
  157. WHERE
  158. id = OLD.id;
  159. END;
  160. -- 新增区域表的更新时间触发器
  161. CREATE TRIGGER trg_area_update_time AFTER
  162. UPDATE ON store_area FOR EACH ROW WHEN NEW.update_time = OLD.update_time BEGIN
  163. UPDATE store_area
  164. SET
  165. update_time = CURRENT_TIMESTAMP
  166. WHERE
  167. id = OLD.id;
  168. END;
  169. -- 新增桌子表的更新时间触发器
  170. CREATE TRIGGER trg_table_update_time AFTER
  171. UPDATE ON store_table FOR EACH ROW WHEN NEW.update_time = OLD.update_time BEGIN
  172. UPDATE store_table
  173. SET
  174. update_time = CURRENT_TIMESTAMP
  175. WHERE
  176. id = OLD.id;
  177. END;