ruby-on-rails - Rails 4 - 如何在开发中使用 sqlite3 并在生产中使用 PostgreSQL w/Heroku

标签 ruby-on-rails postgresql heroku sqlite ruby-on-rails-4

我正在尝试部署到 Heroku 但不能,因为默认的 sqlite3 服务器仍然存在。

Detected sqlite3 gem which is not supported on Heroku. https://devcenter.heroku.com/articles/sqlite3

在 Rails 3.2.13 的另一个教程中,我能够使用 sqlite3 作为开发数据库,​​使用 Postgres 作为生产数据库。 Gemfile 在 Rails 4 中看起来有所不同,但我已将其修改为:

group :development do
  # Use sqlite3 as the database for Active Record
  gem 'sqlite3'
end

group :production do
  gem 'pg'
end

然后我更改了我的 database.yml 文件,使生产部分看起来像这样:

production:
  adapter: postgresql
  database: my_production_database
  pool: 5
  timeout: 5000

然后我运行了 bundle installrake db:createrake db:migrate 但我仍然无法推送到 Heroku。所以我尝试了 rake db:drop 以及 rake db:createrake db:migrate 但我仍然收到相同的错误消息。

我错过了什么吗?我还需要做些什么来确保我将 Postgres 作为我的生产数据库并能够使用 Heroku?

最佳答案

不要这样做。你只会在路上遇到问题。在生产和开发中使用相同的数据库。有很多资源可用于记录从 sqlite 到 postgres 数据库的转换。

花点时间切换。

看看这个 Rails Cast。

http://railscasts.com/episodes/342-migrating-to-postgresql?view=asciicast

关于ruby-on-rails - Rails 4 - 如何在开发中使用 sqlite3 并在生产中使用 PostgreSQL w/Heroku,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21122358/

相关文章:

ruby-on-rails - Turbolinks 和 3d 派对插件问题?

postgresql - 时间戳分辨率

sql - 从子查询更新表执行非常慢

c# - 使用 Dapper 和 Postgres 调用存储过程

heroku - 将生产数据库复制到暂存 heroku

ruby-on-rails - 电子邮件中的 Sendgrid 链接产生您的连接不是浏览器中的私有(private)错误

ruby-on-rails - rails paypal 通知验证日语

java - 我可以在基于 Java 的 heroku 应用程序中使用 native 应用程序吗?

ruby-on-rails - Carrierwave如何获取文件扩展名

c++ - 将 C++ 集成到 Ruby on Rails 应用程序中