【问题标题】:why schema.rb file differently between development and production environment?为什么 schema.rb 文件在开发和生产环境之间不同?
【发布时间】:2012-04-13 10:04:38
【问题描述】:

我在开发和生产环境中都使用了 mysql Ver 14.14。我有一个数据库迁移文件,例如:

class ChangeRoleToNodeTemplate < ActiveRecord::Migration
  def up
    rename_table :roles, :node_templates
  end

  def down
    rename_table :node_templates, :roles
  end
end

当我运行“rake db:migrate”命令时,它生成的 schema.rb 文件是正确的。

但是当我运行“rake db:migrate RAILS_ENV=production”时,它包含具有相同架构的“roles”和“node_templates”表。

谁能给我一个建议?谢谢。

我使用的是 Rails 3.1.0

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

    不知道为什么以及如何发生这种情况,但我会先尝试完全回滚生产数据库,而不是加载架构并检查

    回滚生产数据库:

    rake db:rollback RAILS_ENV=production STEP=100
    

    加载架构:

    rake db:schema:load RAILS_ENV=production
    

    【讨论】:

    • 谢谢,我首先通过 'rake db:drop RAILS_ENV=production' 解决了这个问题。然后重新运行“rake db:migrate RAILS_ENV=production”。
    猜你喜欢
    • 2018-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-22
    • 1970-01-01
    • 1970-01-01
    • 2018-05-01
    • 2018-06-04
    相关资源
    最近更新 更多