ruby-on-rails - 使用外部 postgres 数据库将 rails 部署到 Heroku

标签 ruby-on-rails ruby postgresql amazon-web-services heroku

首先,我完全是个 Rails/PostgreSQL 菜鸟。

我正在尝试将 Rails 应用程序部署到 Heroku。我已经启动并运行它,但每次部署时,Heroku 都会忽略我的 database.yml 信息并生成一个新数据库。这是我的 database.yml

# SQLite version 3.x
#   gem install sqlite3
#
#   Ensure the SQLite 3 gem is defined in your Gemfile
#   gem 'sqlite3'
#
default: &default
 adapter: sqlite3
 pool: 5
 timeout: 5000

development:
 # <<: *default
 #  database: db/development.sqlite3
 adapter: postgresql
 pool: 5
 host: wwydh.cqqq2sesxkkq.us-east-1.rds.amazonaws.com
 timeout: 5000
 username: wwydh_a_team
 password: really cool password
 database: wwydh
 host: wwydh.cqqq2sesxkkq.us-east-1.rds.amazonaws.com
 port: 5432


# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
 <<: *default
 database: db/test.sqlite3

我做错了什么?

最佳答案

heroku config:add DATABASE_URL=postgres://{user}:{password}@{hostname}:{port}/{database-name}

然后重新部署您的应用。它将读取您的 DATABASE_URL 并从中生成 database.yml。

编辑
根据这个SO question需要先分离数据库,然后更新变量 DATABASE_URL。

heroku addons:attach heroku-postgresql -a <app_name> --as HEROKU_DATABASE
heroku addons:detach DATABASE -a <app_name>
heroku config:add DATABASE_URL=.....

关于ruby-on-rails - 使用外部 postgres 数据库将 rails 部署到 Heroku,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39443244/

相关文章:

ruby-on-rails - actionview-4.2.4 - 未初始化的常量 ActionView::Helpers::ActiveModelHelper (NameError)

ruby-on-rails - 如何干燥 Rails 6 部分表单

ruby-on-rails - 如何在 rails application.rb 中加载多个 YAML 文件

database - 从 PostgreSQL 函数生成 HTML

ruby-on-rails - 如何防止 has_and_belongs_to_many 删除选项删除 Rails 中正在使用的记录?

ruby-on-rails - Twitter Rails gem Update_with_media 返回未经授权

postgresql - TypeORM:在运行时为 EntityManager(或存储库)动态设置数据库架构?

python - PostgreSQL psql : error: FATAL: Peer authentication failed for user "userrole"

ruby-on-rails - 回形针回调或简单的处理器?

ruby-on-rails - Rails - 创建全局命名范围?