如何在Rails 4中迁移特定(非默认)数据库

时间:2015-01-08 21:29:14

标签: ruby-on-rails-4 rake rails-migrations

我尝试了this post中提供的答案失败了。迁移刚刚针对我的默认数据库运行。

如何在Rails 4中迁移非默认数据库?

config / database.yml(用foo代替敏感值):

personnel_development:
  adapter: postgresql
  host: foo
  database: personnel
  username: foo
  password: foo

personnel_production:
  adapter: postgresql
  host: foo
  database: personnel
  username: foo
  password: foo

分贝/迁移/ 20150107222716_create_personnels.rb:

class CreatePersonnels < ActiveRecord::Migration
  def connection
    ActiveRecord::Base.establish_connection("quiz_#{Rails.env}").connection
  end

  def change
    create_table :personnels do |t|
      t.string :fn
      t.string :ln

      t.timestamps
    end
  end
end

型号:

class Personnel < ActiveRecord::Base
  establish_connection "personnel_#{Rails.env}"
end

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

我们最终手动设置了包含所需模式和关联的数据库,并删除了迁移。然后,该应用程序正确使用问题中列出的模型和配置。肯定解决了这个问题,但不幸的是没有“Rails方式”。