【问题标题】:How to generate migration files using schema.rb如何使用 schema.rb 生成迁移文件
【发布时间】:2013-11-11 12:25:46
【问题描述】:

假设我有一个又大又丑的 schema.rb,并且没有迁移,那么创建它们的最佳方法是什么,除了使用 ctr+c/crt+v 执行此操作。另外,我需要将它们视为已迁移:)。考虑到这需要在 rails 2.3.5 env 中生成 :(.

【问题讨论】:

  • 你跑rake db:schema:load了吗?
  • ...为什么你的架构“又大又丑”?
  • 这是另一个问题)))。这不是我的项目,我正在对其进行一些重构。 rake db:schema:load - 会生成迁移文件吗?

标签: ruby-on-rails activerecord rake


【解决方案1】:

生成迁移,然后将 schema.rb 代码(不带 ActiveRecord::Schema.define(:version => x) doend)复制到 upchange 方法中。

【讨论】:

  • besides doing this with ctr+c/crt+v。这样做会花费很多时间。
  • cp db/schema.rb db/migrate/initial_migration.rb,然后编辑?
  • 我现在明白了。使用大模式文件生成大迁移文件)))。谢谢
【解决方案2】:

您唯一的选择是使用命令rake db:schema:load 从您的 schema.rb 文件生成数据库。请注意rake db:schema:load 会删除生产服务器上的数据。

如果您查看 schema.rb 文件,您会注意到它只有上次迁移的时间戳,即模式的版本,以及复制它所需的命令。您可以从中创建一个迁移,并从那里进行所有未来的更改。

【讨论】:

    猜你喜欢
    • 2011-07-10
    • 1970-01-01
    • 2014-12-22
    • 2021-06-16
    • 1970-01-01
    • 1970-01-01
    • 2017-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多