数据库迁移脚本说明
📦 迁移脚本
完整初始化(推荐)
文件: 001_init_schema.sql (49KB, 886行)
包含内容:
- ✅ 所有基础表结构(用户、商家、订单、房源等)
- ✅ 营销活动表(邀请返现、优惠券等)
- ✅ 财务系统表(账户、交易流水、提现、结算、对账)
- ✅ 自动创建账户触发器
- ✅ 初始化数据(平台账户、用户账户、商家账户)
使用场景:
- 全新项目初始化
- 开发环境重建
- 测试环境搭建
执行方式:
# 删除旧数据库(谨慎操作!)
mysql -u root -p -e "DROP DATABASE IF EXISTS rent_platform;"
# 执行完整初始化
mysql -u root -p < migrations/001_init_schema.sql
# 验证
mysql -u root -p rent_platform -e "SHOW TABLES;"
mysql -u root -p rent_platform -e "SELECT account_type, COUNT(*) as count FROM accounts GROUP BY account_type;"
📊 数据库表结构
完整初始化后的表列表(共 34 张表)
用户与权限(4张)
users- 用户表admins- 平台管理员表sellers- 商家账户表user_oauth- 第三方账号绑定表
商家与房源(6张)
merchants- 商家表rooms- 房型/房源表room_calendar- 房量房价日历表room_calendar_logs- 房态变更日志表favorites- 收藏表reviews- 评价表
订单与支付(2张)
orders- 订单表payments- 支付记录表
营销活动(7张)
coupons- 优惠券模板表user_coupons- 用户优惠券表mkt_activities- 营销活动表mkt_invitations- 邀请关系表mkt_cashbacks- 返现记录表mkt_user_invite_stats- 用户邀请统计表mkt_invite_withdrawals- 邀请提现申请表(已废弃,使用 withdrawals)
财务系统(6张)⭐ 核心
accounts- 账户表(用户/商家/平台统一账户)transactions- 交易流水表(复式记账)withdrawals- 提现表(统一提现管理)settlements- 结算单表(商家周结算)settlement_items- 结算明细表daily_reconciliations- 日对账表
其他(9张)
banners- 轮播图表notifications- 通知表system_configs- 系统配置表operation_logs- 操作日志表sms_logs- 短信发送日志表upload_files- 文件上传记录表
🚀 快速开始
新项目初始化
# 执行完整初始化脚本(包含所有功能)
mysql -u root -p < migrations/001_init_schema.sql
# 验证
mysql -u root -p rent_platform -e "SHOW TABLES;"
mysql -u root -p rent_platform -e "SELECT account_type, COUNT(*) as count FROM accounts GROUP BY account_type;"
⚠️ 注意事项
数据安全
-
备份数据库:执行任何迁移前,务必备份数据库
mysqldump -u root -p rent_platform > backup_$(date +%Y%m%d_%H%M%S).sql -
测试环境验证:先在测试环境执行,确认无误后再在生产环境执行
-
检查依赖:确保 MySQL 版本 >= 5.7(支持 JSON 类型和触发器)
触发器说明
脚本会自动创建以下触发器:
trg_user_create_account- 用户注册时自动创建账户trg_merchant_create_account- 商家审核通过时自动创建账户
如果触发器已存在,会自动跳过。
📝 版本历史
| 版本 | 日期 | 说明 |
|---|---|---|
| v2.0 | 2026-05-12 | 整合所有功能,添加完整财务系统 |
| v1.0 | 2026-05-08 | 初始化数据库结构 |
📧 问题反馈
如有问题,请联系开发团队或查看:
最后更新:2026-05-12
维护团队:开发团队