db-migration

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Database Migration Workflow

数据库迁移工作流

Workflow for database schema and migration changes.
数据库Schema与迁移变更的工作流。

Prerequisites

前提条件

  • Use
    git-workflow
    Skill
    for branch, commit, and PR workflow.
  • Refer to
    .claude/rules/hcl.md
    for HCL schema rules (SSOT).
  • Refer to
    .claude/rules/sql.md
    for SQL query rules (SSOT).
  • 使用
    git-workflow
    Skill
    处理分支、提交和PR工作流。
  • 参考
    .claude/rules/hcl.md
    获取HCL Schema规则(SSOT,唯一可信来源)。
  • 参考
    .claude/rules/sql.md
    获取SQL查询规则(SSOT,唯一可信来源)。

Applicable Files

适用文件

PathDescription
tools/atlas/schemas/*.hcl
HCL schema definitions (source of truth)
tools/sqlc/queries/*.sql
SQLC query definitions
路径描述
tools/atlas/schemas/*.hcl
HCL Schema定义(唯一可信来源)
tools/sqlc/queries/*.sql
SQLC查询定义

Workflow

工作流

1. Modify Schema (HCL)

1. 修改Schema(HCL)

Edit HCL files in
tools/atlas/schemas/
.
编辑
tools/atlas/schemas/
目录下的HCL文件。

2. Verify HCL (from rules/hcl.md)

2. 验证HCL(参考rules/hcl.md)

bash
make atlas-fmt && make atlas-lint
bash
make atlas-fmt && make atlas-lint

3. Generate Migrations

3. 生成迁移文件

bash
make atlas-dev-reset
bash
make atlas-dev-reset

4. Test Migration

4. 测试迁移

bash
docker compose down -v && docker compose --profile mysql up -d
bash
docker compose down -v && docker compose --profile mysql up -d

5. Regenerate SQLC (from rules/sql.md)

5. 重新生成SQLC(参考rules/sql.md)

bash
make extract-sqlc-schema-all && make sqlc
bash
make extract-sqlc-schema-all && make sqlc

6. Verify Go Code

6. 验证Go代码

bash
make check-build && make gotest
bash
make check-build && make gotest

Self-Review Checklist

自我检查清单

  • HCL format/lint passes
  • Migration applies cleanly
  • SQLC generates correctly
  • Go build passes
  • HCL格式/检查通过
  • 迁移可正常执行
  • SQLC生成正确
  • Go编译通过

Related

相关内容

  • .claude/rules/hcl.md
    - HCL rules (SSOT)
  • .claude/rules/sql.md
    - SQL rules (SSOT)
  • go-development
    - Go verification after SQLC generation
  • git-workflow
    - Branch, commit, PR workflow
  • .claude/rules/hcl.md
    - HCL规则(SSOT,唯一可信来源)
  • .claude/rules/sql.md
    - SQL规则(SSOT,唯一可信来源)
  • go-development
    - SQLC生成后的Go验证
  • git-workflow
    - 分支、提交、PR工作流