我是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时应该切换其他一些字段,但我不确定。任何人都可以为我澄清这一点,谢谢。
答案 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