关于 doctrine-migrations
面向 Symfony 的 Doctrine Migrations 技能,涵盖迁移的生成、审查、执行与回滚。内容包括检查架构差异、编写可逆迁移、查看状态、试运行及部署命令。
主要功能
- 01生成并审查架构迁移
- 02编写可逆的 up 和 down 方法
- 03检查迁移状态并预览执行
- 04应用或回滚迁移
- 05配置迁移选项
适用场景
- 01为映射添加列、索引或表
- 02审查生成的迁移 SQL
- 03部署待执行迁移或回滚版本
- 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)。
默认工作流
- 修改实体映射,然后使用
make:migration或doctrine:migrations:diff生成迁移。 - 检查每一行
addSql():重命名可能会显示为先删除再添加,索引变更也很常见。 - 编写能够反转
up()的实际down(),并确保每个迁移只处理一项关注点。 - 检查
doctrine:migrations:status,使用doctrine:migrations:migrate --dry-run预览,然后运行doctrine:migrations:migrate。 - 使用
doctrine:migrations:migrate prev回滚,或使用带有--down的doctrine:migrations:execute。 - 使用多个实体管理器时,为每条迁移命令传入
--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