dev-database

Solid

数据库开发子类型规范 — Migration 安全策略 + Schema 变更审查

API & Backend 263 stars 34 forks Updated 2 days ago AGPL-3.0

Install

View on GitHub

Quality Score: 81/100

Stars 20%
81
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
92
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Dev Database Skill ## 触发条件 涉及数据库操作:Schema 变更(DDL)、Migration 文件、ORM 模型、查询优化、数据迁移。 ## 执行规则 ### Migration 安全策略 | 操作类型 | 要求 | |---------|------| | 新增列 | DEFAULT 或 NULLABLE,禁止 NOT NULL 无默认值(避免锁表) | | 删除列 | 必须先废弃(rename/注释),至少一个版本后再删除 | | 修改列类型 | 评估存量数据兼容性,准备回滚脚本 | | 新建索引 | 生产环境使用 CONCURRENTLY(PostgreSQL)或 ALGORITHM=INPLACE(MySQL) | ### CP 流程 - **CP2** 必须包含:Schema ER 图 / 变更前后对比表 / 回滚方案 - **plan-review**(两阶段门禁):PR-1 在 CP2 前自检,PR-2~PR-7 在 CP2→CP3 之间执行,PR-5③ Schema 变更属于此路径,**不进 impact-review** - **CP3** 必须包含:上线步骤(Migration 执行时机)+ 回滚触发条件 ## 产出物 - `migrations/YYYYMMDD_description.{sql|ts|js}` — Migration 文件 - `reports/requirements/` — 开发报告(含 Schema 变更说明) ## 关键约束 - 🔴 禁止在 Migration 中写业务逻辑(纯 DDL + 数据修复) - 🔴 大表(>100万行)变更必须评估锁时间,提供在线变更方案 - 🔴 数据库、MongoDB 或数据操作连接信息默认可按用户提供内容直写或沿用项目既有模式;只有用户或项目明确指定 `config.local.json`、env、`secretRef` 或 secret manager 时,才从对应入口读取,缺失文件或字段时提醒用户补齐 - 🔴 数据补齐、迁移或跨环境写入必须执行 `DataMutationPlan`:范围来自显式清单、需求目录数据源或稳定业务键;跨环境写入不得直接用 source `_id` 匹配目标库,必须在目标环境重新唯一匹配并 dry-run 输出 `source_id`、`target_id`、缺失/重复清单;不能唯一匹配时阻断写库 - 🔴 数据库配置、邮件模板、模块注册、推送配置、权限配置、字典配置等记录跨环境手动迁移必须执行 `DatabaseRecordMigrationExportGate`:只读源环境,导出主记录和引用记录的全字段 JSON/Extended JSON 备份,生成可执行 insert/upsert 脚本、执行顺序、引用完整性校验和目标 dry-run 说明;不得只给单条记录或截图说明 - 🔴 一次性数据脚本默认执行 `OneOffRequirementScriptPlacementGate`:需要留档/复核时放入对应 requirement/bug/任务目录 `scripts/`;纯本地临时执行时须先通过 lifecycle constructor 分配 `WorkspaceTempManifestV2`,再写入 canonical workspace temp 的 `runs/<project>/<producer>/<run-id>/local-scripts/`。V1 manif...

Details

Author
devcodex-labs
Repository
devcodex-labs/devcodex
Created
5 months ago
Last Updated
2 days ago
Language
JavaScript
License
AGPL-3.0

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category