【发布时间】:2009-12-15 20:02:34
【问题描述】:
可以将 db/migrate/* 替换为 db/schema.rb 的内容,这样您就只有一个迁移步骤。
你们中有人这样做过吗?为什么?
【问题讨论】:
标签: ruby-on-rails migration schema.rb
可以将 db/migrate/* 替换为 db/schema.rb 的内容,这样您就只有一个迁移步骤。
你们中有人这样做过吗?为什么?
【问题讨论】:
标签: ruby-on-rails migration schema.rb
您为什么要这样做?如果您不想运行所有迁移,则可以运行 rake db:schema:load。迁移不仅(仅)用于初始化新数据库,还用于将其迁移到另一个版本。
【讨论】:
此外,一些大型的 Ruby on Rails 工具包(比如现在让你在 Rails 应用程序中建立电子商务网站的那个让我忘记了),将它们的迁移扁平化。
我还知道有大量迁移的项目每隔一段时间就会执行此操作,以减少运行 rake db:migrate 开始到结束所需的时间(例如,在持续集成服务器上)
【讨论】:
您可以使用 rake db:schema:load 一步导入整个架构。建议这样做,而不是运行大量迁移。
【讨论】: