1.5 KiB
1.5 KiB
数据库变更:2026-06-16 M01-B 核心 schema 基线
背景
M01-B 开始建立正式数据库迁移与旧表兼容层。旧 SQL 仅作为表意、字段类别和业务关系参考,不导入旧 INSERT 数据、文件 URL、日志或生产配置。
Up
database/migrations/2026061601_m01b_core_schema.up.sql- 新增迁移记录表:
qipai_schema_migrations - 新增核心业务表:
qipai_tenants、qipai_stores、qipai_rooms、qipai_members、qipai_orders、qipai_payments、qipai_devices、qipai_audit_logs - 新增兼容映射表:
qipai_legacy_table_mappings
Down
database/migrations/2026061601_m01b_core_schema.down.sql- 仅用于空库、本地开发库或预生产演练库回滚;生产含业务数据后必须先备份并按运维流程人工确认。
数据迁移说明
- 首期只提供 schema 与脱敏 seed,不迁移真实旧数据。
- 旧表映射写入
database/seeds/2026061601_m01b_minimal_seed.sql。 - 金额字段统一使用整数分,例如
total_amount_cents、paid_amount_cents、amount_cents。 - 时间字段统一
DATETIME(3),内部按 UTC 保存,业务日期后续按门店timezone计算。 - 业务表包含
tenant_id;可逻辑删除的表包含deleted_at。
验证方式
npm --prefix backend test
powershell -ExecutionPolicy Bypass -File scripts/dev/windows/check-backend.ps1
backend/tests/migration-contract.test.mjs 会检查 up/down/verify/seed 文件包含核心表、tenant_id、整数分金额字段、DATETIME(3) 和旧表映射。