9

可以将 db/migrate/* 替换为 db/schema.rb 的内容,这样您就只有一个迁移步骤。

你们中有人这样做过吗?为什么?

4

3 回答 3

5

你为什么想做这个?rake db:schema:load如果您不想运行所有迁移,则可以运行。迁移不仅(仅)用于初始化新数据库,还用于将其迁移到另一个版本。

于 2009-12-15T20:06:02.650 回答
3

此外,一些大的 Ruby on Rails 工具包(比如现在让我在 Rails 应用程序中设置电子商务网站的那个让我不快的工具包),使它们的迁移扁平化。

我还知道有大量迁移的项目每隔一段时间就会执行此操作,以减少运行 rake db:migrate 从开始到完成所需的时间(例如,在持续集成服务器上)

于 2009-12-15T22:36:04.473 回答
1

您可以执行 rake db:schema:load 一步导入整个架构。建议这样做,而不是运行大量迁移。

于 2009-12-15T20:06:37.940 回答