Rails:从本地MySQL到Heroku

Hom*_*ith 5 mysql postgresql ruby-on-rails heroku

我正在开发一个由MySQL数据库支持的localhost应用程序.但是我想部署到Heroku,我读过的是PostGreSQL的bacekd.

这样做的最佳方法是什么?我想过在Gemfile中这样做:

group :development do
 gem 'mysql2'
end

group :test do
 gem 'pg'
end
Run Code Online (Sandbox Code Playgroud)

但是,我如何配置database.yml?这是正确的方法吗?

小智 8

此页面有一个示例配置:

教程:在Heroku·RailsApps上使用Ruby 1.9.3创建Rails 3.2

该教程假设您在本地使用SQLite.如果你想要MySQL,只需在你的Gemfile中使用

group :development, :test do
  gem 'mysql2'
end
group :production do
  gem 'pg'
end
Run Code Online (Sandbox Code Playgroud)

但是,我将如何配置database.yml

您不必进行任何特殊设置; 一旦推动,Heroku将为您生成它.

注意(来自Heroku):

我们强烈建议在开发过程中使用PostgreSQL.保持开发和部署环境之间的平等,可以防止由于环境之间的差异而引入细微错误.

本地宝石注释(来自教程):

运行bundle install --without production以更新您的宝石.该标志--without production允许您跳过pg gem的本地安装; 否则,您必须在本地安装PostgreSQL(如果未安装PostgreSQL,则不会安装pg gem).