我正在使用PHP symfony框架进行数据库迁移,并且我注意到有很多文件,并且当我构建项目时以及每次执行许多文件(迁移)时。很多数据库迁移文件
管理迁移的最佳实践是什么?我可以删除它们并只创建一个数据库转储文件,用于数据库启动吗?
我正在使用PHP symfony框架进行数据库迁移,并且我注意到有很多文件,并且当我构建项目时以及每次执行许多文件(迁移)时。很多数据库迁移文件
管理迁移的最佳实践是什么?我可以删除它们并只创建一个数据库转储文件,用于数据库启动吗?
我假设您使用Doctrine Migrations来创建这些文件。在dev上,您始终可以使用doctrine:schema:update命令重新生成数据库。 设置新实例时,您还可以使用doctrine:schema:create命令,该命令还会为您创建最新的表定义。
这给我们带来了你的问题;你需要保留所有的迁移吗?只要您知道迁移已在过时的实例上执行,您可以安全地归档(我的首选选项)或删除它们,因为它们将永远不会再被调用。
是的,我正在使用Doctrine迁移,并在部署到生产之前构建项目时运行它们。我不应该使用迁移来构建项目并更好地使用原则:schema:create? – Emptyhand
没有模式:创建仅用于开发目的,因为它不考虑您的数据。使用migrations执行部署,为dev/test创建。 –
我宁愿使用生产上的迁移而不是教条:schema:update,因为在更新过程中可能会遇到一些问题。海事组织总是更好的选择,密切注意数据库的情况。
在开发环境中,您可以轻松使用doctrine:schema:update命令,但是您应该在生产环境中使用迁移。在某些情况下,命令可能会阻止迁移(它发生在我身上的几次)。
你应该为你的开发数据库使用灯具。 – COil