用gemfile重新编译database.yml文件?铁轨上的红宝石

时间:2014-03-10 06:36:52

标签: ruby-on-rails postgresql gemfile pg

我是Ruby on Rails和postgreSQL的新手并且有一个问题。在Gemfile上运行bundle install时是否编译了database.yml文件?最初我的gemfile有sqlite3,但是我把它改成了pg并尝试再次运行bundle install来重新编译database.yml文件,但该文件仍然说它正在使用SQLite。

development:
adapter: sqlite3
database: db/development.sqlite3
pool: 5
timeout: 5000

我希望将适配器切换到postgresql并且我相信在使用pg时应该切换其他一些字段,但我不确定。任何人都可以为我澄清这一点,谢谢。

2 个答案:

答案 0 :(得分:1)

不,database.yml不会自动重新编译。当您在Gemfile中更改gem时,您还需要更改文件:

development:
  adapter: postgresql
  database: dbname
  username: user
  password: password
  encoding: unicode

答案 1 :(得分:1)

您需要更换config/database.yml

中的适配器值

运行bundle install时,它将安装Gemfile中声明的gem,但您必须手动设置数据库配置。 Bundle不会在您的应用程序上编译任何内容,除了Gemfile.lock声明为gems版本。

类似的东西:

development:
  adapter: postgresql
  encoding: unicode
  database: myapp_development
  host: localhost
  password: password # if you need a password

test:
  adapter: postgresql
  encoding: unicode
  database: myapp_test
  host: localhost
  password: password # if you need a password

production:
  adapter: postgresql
  encoding: unicode
  database: myapp_production
  host: localhost
  password: password # probably you will need a password