我正在使用PHP symfony框架进行数据库迁移,我注意到有很多文件,当我构建项目时以及每次执行许多文件(迁移)时。
管理迁移的最佳做法是什么?我可以删除它们并只创建一个数据库转储文件,用于数据库启动吗?
答案 0 :(得分:0)
我假设您正在使用Doctrine Migrations来创建这些文件。在开发人员上,您始终可以使用doctrine:schema:update命令重新生成数据库。 在设置新实例时,您还可以使用doctrine:schema:create命令,该命令还将为您创建最新的表定义。
这将我们带到你的问题;你需要保留所有的迁移吗?只要您知道迁移已在过时的实例上执行,您就可以安全地存档(我的首选选项)或删除它们,因为它们永远不会再被调用。
答案 1 :(得分:0)
我更希望在生产而不是doctrine:schema:update上使用迁移,因为在更新流程时可能会遇到一些问题。 IMO始终是一个更好的选择,可以关注数据库发生的事情。
在开发环境中,您可以轻松使用doctrine:schema:update命令,但您应该在生产中使用迁移。在某些情况下,命令可能会导致迁移(它发生在我身上几次)。