0

处理 Doctrine Migrations 的正常方法是通过标准命令 - 在开发期间手动运行命令以例如运行差异并应用迁移,部署通常涉及通过相同的方法但自动应用它们。有时在本地实例的团队中工作时会有新的迁移,但我已经从版本控制更新了我的源代码而不是进行了部署,所以我需要手动应用新的迁移,我需要知道我需要去做!一项改进可能是在呈现的网页上显示迁移不同步且需要采取措施的警告。

有没有办法直接在 PHP/Symfony 代码中访问 Migrations API,以便我可以检测到已提交迁移和已应用迁移之间的不匹配?我还没有找到任何关于此的文档。我对代码进行了初步探讨,它似乎严重偏向于命令(足够合理)。

4

1 回答 1

0

首先,从版本控制更新源代码也是一种部署,应用 Doctrine Migrations 应该是其中的一部分。您应该创建一个在部署期间需要执行的所有步骤的检查列表,包括回滚。根据应用程序的复杂性,很多事情都可能出错。

要回答您的问题,您可以在代码中使用Process组件执行差异迁移并解析输出以确定是否要应用迁移。

于 2019-02-28T11:45:15.463 回答