mcpField
D
doctrine-migrations

doctrine-migrations

github.com/dev-toolings数据与数据库227101 次安装3 周前更新
代码仓库

关于 doctrine-migrations

面向 Symfony 的 Doctrine Migrations 技能,涵盖迁移的生成、审查、执行与回滚。内容包括检查架构差异、编写可逆迁移、查看状态、试运行及部署命令。

主要功能

  1. 01生成并审查架构迁移
  2. 02编写可逆的 up 和 down 方法
  3. 03检查迁移状态并预览执行
  4. 04应用或回滚迁移
  5. 05配置迁移选项

适用场景

  1. 01为映射添加列、索引或表
  2. 02审查生成的迁移 SQL
  3. 03部署待执行迁移或回滚版本
  4. 04管理多个实体管理器的迁移

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/dev-toolings/superpowers-symfony --skill doctrine-migrations

安装后在 Claude Code 中输入/doctrine-migrations确认已加载。

附带文件reference.md

详细介绍

Doctrine Migrations(Symfony)

适用场景

  • 映射变更需要进行架构迁移(新增列、索引或表)。
  • 应用前审查生成的 make:migration 或 doctrine:migrations:diff 文件。
  • 回滚某个版本,或将待执行的迁移部署到生产环境。
  • 调整 doctrine_migrations.yaml(transactional、all_or_nothing、enable_service_migrations)。

默认工作流

  1. 修改实体映射,然后使用 make:migration 或 doctrine:migrations:diff 生成迁移。
  2. 检查每一行 addSql():重命名可能会显示为先删除再添加,索引变更也很常见。
  3. 编写能够反转 up() 的实际 down(),并确保每个迁移只处理一项关注点。
  4. 检查 doctrine:migrations:status,使用 doctrine:migrations:migrate --dry-run 预览,然后运行 doctrine:migrations:migrate。
  5. 使用 doctrine:migrations:migrate prev 回滚,或使用带有 --down 的 doctrine:migrations:execute。
  6. 使用多个实体管理器时,为每条迁移命令传入 --em。

注意事项

  • 切勿编辑已应用的迁移:应新增一个迁移。
  • 保持由 diff 生成的迁移只涉及架构;数据变更应放入专门的幂等迁移或命令中。
  • 保留类型化签名 up(Schema $schema): void 和 down(Schema $schema): void。
  • all_or_nothing 主要对 PostgreSQL 有效,因为大多数 MySQL DDL 都会隐式提交。

渐进式披露

  • 使用此文件了解执行规范和风险控制。
  • 需要深入了解实现细节时,打开参考资料。

输出约定

  • 迁移文件,其中包含经过审查的 up() 和可正常工作的 down()。
  • doctrine:migrations:status 和试运行的输出,以及回滚命令。
  • 对 doctrine_migrations.yaml 所做的任何更改及其原因。

参考资料

  • reference.md

评论

支持 Markdown