我是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