2.6 KiB
2.6 KiB
数据库初始化说明
本目录包含 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 等四字节字符无压力
注意事项
- 不要在生产环境执行
seed.sql—— 仅用于本地开发与演示。 - 真实部署时建议关闭
notice等富文本字段的 XSS 过滤,由前端做 HTML 转义。 - 抢购库存的并发安全由 Redis 原子操作 + 数据库兜底双重保障,详见功能设计文档。