snack-mall/db/README.md

2.6 KiB
Raw Permalink Blame History

数据库初始化说明

本目录包含 snack_mall 数据库的完整脚本。

文件清单

文件 用途 建议时机
schema.sql 建库 + 21 张业务表的 DDL 第一次部署时执行
seed.sql 基础测试数据(管理员、用户、商品、优惠券、活动、客服消息等) 联调 / 演示前执行
BUSINESS_DESIGN.md 核心业务设计WebSocket 客服 + Redis 防超卖 开发前必读

执行顺序

# 方式一:命令行
mysql -u root -p < schema.sql
mysql -u root -p < seed.sql

# 方式二:登录后 source
mysql -u root -p
> source /path/to/schema.sql
> source /path/to/seed.sql

# 方式三Navicat / DBeaver 直接打开执行

表清单(共 21 张)

# 表名 说明
1 user 用户表
2 admin 管理员表
3 category 商品分类(多级)
4 product 商品 SPU
5 product_sku 商品 SKU
6 address 收货地址
7 cart 购物车
8 orders 订单主表
9 order_item 订单明细
10 favorite 收藏
11 banner 轮播图
12 chat_session 客服会话
13 chat_message 客服消息
14 quick_reply 客服快捷回复
15 notice 系统公告
16 coupon 优惠券模板
17 user_coupon 用户优惠券
18 seckill_activity 限时抢购活动
19 seckill_product 抢购活动商品
20 seckill_order 抢购订单(防超卖)
21 upload_file 文件上传记录

默认账号

角色 用户名 密码
管理员 admin 123456
管理员 manager 123456
管理员 operator 123456
普通用户 user001 ~ user005 123456

密码均使用 BCrypt 加密hash 值在 seed.sql 中。

字符集

  • 库 / 表utf8mb4
  • 排序规则utf8mb4_unicode_ci
  • 存储 emoji 等四字节字符无压力

注意事项

  1. 不要在生产环境执行 seed.sql —— 仅用于本地开发与演示。
  2. 真实部署时建议关闭 notice 等富文本字段的 XSS 过滤,由前端做 HTML 转义。
  3. 抢购库存的并发安全由 Redis 原子操作 + 数据库兜底双重保障,详见功能设计文档。