gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 14:37:17 26 4
gpt4 key购买 nike

我正在 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com