ruby-on-rails - Heroku Rails PostgreSQL 安装错误

标签 ruby-on-rails postgresql heroku

我正在 Heroku 上设置 Ruby on Rails 应用程序。 Heroku 显然不支持 SQLite3,它是 Rails 的原生数据库,而是更喜欢 PostgreSQL。所以我将生产切换到该数据库。

数据库.yml

default: &default
  adapter: sqlite3
  pool: 5
  timeout: 5000

development:
  <<: *default
  database: db/development.sqlite3

test:
  <<: *default
  database: db/test.sqlite3

production:
  url: <%= ENV['DATABASE_URL'] %>

gem 文件

(相关部分)

group :production do
  gem 'pg'
end
group :development, :test do
  gem 'sqlite3'
end

我在浏览器中遇到的错误是:

An unhandled lowlevel error occurred. The application logs may have details.

深入研究应用程序日志,似乎存在错误:

#<RuntimeError: Missingsecret_key_basefor 'production' environment, set this value inconfig/secrets.yml`>

我已经确认了正确的 DATABASE_URL环境变量在我的 Heroku 设置中设置。我有 config/secrets.yml.gitignore .我真的不想跟踪这个文件。我正在使用 Rails 5.0.1。我在这里做错了什么?数据库凭据包含在 DATABASE_URL 中环境变量。

最佳答案

我能给出的最佳答案是SWITCH EVERYTHING! :-)

说真的,在为两个不同的环境维护两个独立的数据库时,您会遇到永无休止的麻烦。将您的整个应用程序切换到 postgres,省去很多心痛。

以下是您拥有两个独立数据库时可能遇到的问题的一小部分示例:

  1. 支持的数据类型的差异。
  2. SQL 语法的差异。
  3. 性能优化的差异。

这是一个很好的过渡教程:http://railscasts.com/episodes/342-migrating-to-postgresql?view=asciicast

关于ruby-on-rails - Heroku Rails PostgreSQL 安装错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42375029/

相关文章:

ruby-on-rails - ruby如何找到sort_by的源代码?

python - Django 多个 unique_together 是否在 PostgreSQL 中被错误映射?

heroku - 自动重启导致 Heroku 应用程序崩溃

ruby-on-rails - Rake 中止,尝试加载 gem 'uglifier' 时出错

django - 在 Heroku 上安装模块

ruby-on-rails - 获取 IRB 中页面的内容(在调试器内)

ruby-on-rails - 在主页上创建自定义 Rails 错误部分

ruby-on-rails - RSpec 未定义方法 "errors_on"

postgresql - postgres中如何查询timestamptz并与go中的time.Time进行比较?

postgresql - Postgres 仅索引扫描 : can we ignore the visibility map or avoid heap fetches?