Files
qipai/docs/db-changelog/2026-06-16-M01-B-core-schema.md
T

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_tenantsqipai_storesqipai_roomsqipai_membersqipai_ordersqipai_paymentsqipai_devicesqipai_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_centspaid_amount_centsamount_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) 和旧表映射。