重新编译数据库.Yml文件与gemfile?Ruby on rails



我是Ruby on Rails和postgreSQL的新手,有一个问题。做数据库。当您在Gemfile上运行bundle install时,会编译yml文件吗?最初,我的gemfile有sqlite3,但我将其更改为pg,并试图再次运行bundle install来重新编译数据库。yml文件,但该文件仍然说它使用SQLite。

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

我希望适配器切换到postgresql,我相信在使用pg时应该切换一些其他字段,但我不确定。谁能帮我解释一下,谢谢。

不自动重新编译database.yml。当你改变Gemfile中的gem时,你还需要改变这个文件:

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

您需要替换您的适配器值在您的config/database.yml

当你运行bundle install时,它会安装在Gemfile中声明的gems,但是你必须手动设置你的数据库配置。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

最新更新