我正试图将Rails应用推到Heroku并遇到困难。
在config/database.yml
文件中,我看到了这样的示例,其中数据库名称以'db /'为前缀:
production:
<<: *default
database: db/the_business_casual_pro
以及类似的示例,不带前缀:
development:
<<: *default
database: FullstackProject_development
一种方法优先于另一种方法,还是一种较旧的方法呢?
现在我的database.yml文件就是这样:
default: &default
adapter: postgresql
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
timeout: 5000
development:
<<: *default
database: db/the_business_casual_dev
test:
<<: *default
database: db/the_business_casual_test
production:
<<: *default
database: db/the_business_casual_pro
我在上一个项目中已经看过下面的代码,但是不确定要首先添加这些行是什么。
production:
<<: *default
database: FullstackProject_production
username: FullstackProject
password: <%= ENV['FULLSTACKPROJECT_DATABASE_PASSWORD'] %>
非常感谢任何见解!
答案 0 :(得分:2)
通常,在本地开发Rails应用程序时,不是使用Postgres实例进行开发,而是使用SQLite数据库。 Rails将这些数据库存储在名为db
的文件夹中。实际上,您可以检查项目的db
,如果其中有任何文件。
使用Heroku,您正在使用Postgres实例,并以另一种方式定义数据库。
因此,我将保留db/
进行开发(包括SQLite适配器)和生产,您可能希望将ENV["DATABASE_URL"]
用作Heroku suggests。