【问题标题】:Rails app using Mysql how to deploy with heroku?使用 Mysql 的 Rails 应用程序如何使用 Heroku 进行部署?
【发布时间】:2011-07-18 18:53:33
【问题描述】:

如何在 Heroku 上使用 Mysql 部署 Rails 应用程序?

我发现我的应用不需要 Amazon RDS(对于小型应用来说太贵了)。

这是我对如何使用 Amazon RDS 的回答

Heroku help deploying Rails app that uses Mysql database

【问题讨论】:

  • 这个用户最近问了同样的问题:Heroku help deploying Rails app that uses Mysql database
  • 是的,我试过了。我已将我的应用程序推送到 heroku 并添加了 Amazon RDS。但是我无法连接到数据库。在这里查看我的步骤stackoverflow.com/questions/5362288/…
  • heroku.com - 创建 -> 部署 -> 工作 -- 一切都写在那里,不是吗?
  • 没有。我应该将 Amazon RDS 用于 Mysql 数据库吗?
  • Heroku 使用 PostgreSQL 我需要使用 MySql,因为我有很多 MySql 数据需要推送

标签: ruby-on-rails ruby-on-rails-3 heroku


【解决方案1】:

在你的 gemfile 中包含 mysql2 gem:

gem 'mysql2'

现在,您可以选择:https://addons.heroku.com/cleardb 附加组件。您最多可以获得 5mb 的免费存储空间,但您需要填写信用卡信息才能访问它。

使用 clearDB 插件的步骤是:

# add cleardb add-ons to your app
$ heroku addons:add cleardb:ignite
-----> Adding cleardb to sharp-mountain-4005... done, v18 (free)


# retrieve your database URL:
$ heroku config | grep CLEARDB_DATABASE_URL
CLEARDB_DATABASE_URL => mysql://adffdadf2341:adf4234@us-cdbr-east.cleardb.com/heroku_db?reconnect=true


# copy CLEARDB_DATABASE_URL config variable and set it to your DATABASE_URL config variable
$ heroku config:set DATABASE_URL='mysql://adffdadf2341:adf4234@us-cdbr-east.cleardb.com/heroku_db?reconnect=true'
Adding config vars:
DATABASE_URL => mysql2://adffd...b?reconnect=true
Restarting app... done, v61.

# NOTE: since we are using ```mysql2``` in our gemfile so replace mysql:// scheme in the CLEARDB_DATABASE_URL to mysql2://
$ heroku config:set DATABASE_URL='mysql2://adffdadf2341:adf4234@us-cdbr-east.cleardb.com/heroku_db?reconnect=true'
$ heroku config:set CLEARDB_DATABASE_URL='mysql2://adffdadf2341:adf4234@us-cdbr-east.cleardb.com/heroku_db?reconnect=true'

更多信息请关注:https://devcenter.heroku.com/articles/cleardb

希望对你有帮助。

【讨论】:

    【解决方案2】:

    如果您从 MySql 数据中执行 heroku db:push,它将自动被推送到 heorku PostgreSQL 数据库结构中。

    然后您可以执行 db:pulls 并拉回 mysql。 Taps 提供了这种数据库魔法。

    这真的很棒——我会先尝试一下,然后再尝试让 RDS 正常工作。

    【讨论】:

    • 我已经让 RDS 工作并将我的数据库推送到 RDS。但是我的应用程序仍然在这里崩溃是我的日志pastie.org/1690168
    • 这个答案可能需要更新。运行heroku db:push 给出错误db:push is not a heroku command.
    猜你喜欢
    • 2021-08-18
    • 1970-01-01
    • 2011-07-18
    • 2018-08-12
    • 2015-03-04
    • 2013-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多