【问题标题】:How do I deploy my rails app to Heroku using an existing SQL database?如何使用现有的 SQL 数据库将我的 rails 应用程序部署到 Heroku?
【发布时间】:2013-05-31 11:42:39
【问题描述】:

我有一个现有的 MySQL 数据库,并希望在它之上构建一个 Rails 应用程序。如何将我的应用部署到 Heroku 但仍使用我现有的数据库而不是默认的 PostgreSQL 数据库?

编辑 稍微改述一下这个问题(以前是“是否可以部署......”)。

【问题讨论】:

    标签: ruby-on-rails database heroku


    【解决方案1】:

    是的。您可以按照自己喜欢的方式配置应用程序,包括在配置文件中指定非 Heroku 数据库,包括使用默认的 Heroku 范例,即使用环境变量进行配置,但在环境变量中手动设置数据库 URL。

    您可以继续单独托管 MySQL 数据库,也可以将数据迁移到托管在 Heroku 平台内的 MySQL 数据库,例如 ClearDB(作为 Heroku 插件提供)。

    【讨论】:

    • 太棒了!如何配置配置文件让我使用我的 MySQL 数据库?
    • 您的 MySQL 数据库是否以您未事先确定的远程服务器能够连接到它并使用用户名和密码登录的方式托管?除非您的数据库已经托管在与您的应用程序分开的云中,否则答案可能是“否”——在这种情况下,使用 Heroku 的 ClearBD 并遵循该插件的文档可能会容易得多。
    • 我相信我的 MySQL 数据库允许远程服务器使用用户名/密码登录。 (为了访问它,我一直通过 phpMyAdmin 登录。)如何在 Rails 中以编程方式设置此连接?
    • MySQL 是否允许您远程登录取决于主机的配置方式。 phpMyAdmin 可以在托管 MySQL 的同一台服务器上运行并通过本地套接字连接,因此您能够通过该实用程序进行连接并不一定意味着启用了远程登录。无论如何,请参阅 rails 文档以获取有关入门的帮助:guides.rubyonrails.org/…
    • 超级有帮助。我正在研究潜在的远程访问。谢谢安德鲁!
    【解决方案2】:

    是的,虽然 Heroku 建议您使用 PostgreSQL,但可以使用他们的服务将 MySQL 迁移到 Postgres。他们的文档中有一篇关于这种情况的文章:https://devcenter.heroku.com/articles/heroku-mysql

    他们建议你先安装http://rubygems.org/gems/mysql2psql gem

    如果您的需求是 MySQL 特定的,并且您必须使用 heroku clearDB has 和 addon https://addons.heroku.com/cleardb,您可以将其与您的 heroku 应用程序一起使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-23
      • 2015-01-28
      • 2016-06-02
      • 2015-12-25
      • 1970-01-01
      • 2021-06-26
      • 1970-01-01
      • 2018-03-31
      相关资源
      最近更新 更多