【发布时间】:2017-04-06 11:53:55
【问题描述】:
我正在使用 PHP symfony 框架的数据库迁移,我注意到有很多文件,当我构建我的项目时,每次执行很多文件(迁移)。
管理迁移的最佳做法是什么?我可以删除它们并只创建一个数据库转储文件来启动数据库吗?
【问题讨论】:
-
你应该为你的开发数据库使用fixtures。
标签: php database symfony migration
我正在使用 PHP symfony 框架的数据库迁移,我注意到有很多文件,当我构建我的项目时,每次执行很多文件(迁移)。
管理迁移的最佳做法是什么?我可以删除它们并只创建一个数据库转储文件来启动数据库吗?
【问题讨论】:
标签: php database symfony migration
我假设您正在使用 Doctrine Migrations 创建这些文件。在 dev 上,您始终可以使用 dictionary:schema:update 命令重新生成数据库。 在设置新实例时,您还可以使用 dictionary:schema:create 命令,该命令还将为您创建最新的表定义。
这让我们想到了你的问题;你需要保留所有的迁移吗?只要您知道迁移已在过时的实例上执行,您就可以安全地归档(我的首选选项)或删除它们,因为它们将永远不会被再次调用。
【讨论】:
我更喜欢在生产环境中使用迁移而不是教条:模式:更新,因为在更新过程中可能会遇到一些问题。 IMO 始终关注 DB 发生的情况总是一个更好的选择。
在开发环境中,您可以轻松使用学说:模式:更新命令,但您应该在生产环境中使用迁移。在某些情况下,该命令可能会阻止迁移(它发生在我身上几次)。
【讨论】: