【问题标题】:Heroku app with Xeround DB, how to configure?Heroku 应用程序与 Xeround DB,如何配置?
【发布时间】:2011-12-17 19:44:03
【问题描述】:

我正在尝试设置 Heroku 应用,但使用的是 Xeround DB。我发现的说明有点混乱:

http://xeround.com/developers/heroku-cloud-database-mysql/ 我正在尝试遵循第二种方式,直接在 Xeround 上创建数据库。

我的疑惑是:

  • 是否需要 Xeround 插件?至少 heroku addons:add xeround –app xxxx 说:该插件仅对选定的用户可用

  • Heroku DATABASE_URL 需要设置为:mysql://username:password@host:port/database 我看过一些关于 mysql2 和 mysql 的帖子(反正没有一个对我有用)。我的 gem 文件有 mysql2, 0.2.7 (for Rails 3.0.x)

  • 我可以看到 config var ok,但是 Heroku config --app xxx 仍然显示 SHARED_DATABASE_URL => postgres://pjyqfgjcbn:.... 可以吗?

然后从说明来看,第 5 步确实令人困惑,不清楚该部分是否是可选的(我希望它是)。如果它是强制性的,它不会告诉它必须添加到哪个文件......

我的目标是创建一个全新的 Heroku 应用程序,推送我现有的应用程序,将其设置为使用 Xeround DB,然后运行 ​​Heroku rake db:schema:load 但无论我尝试什么,我都会不断得到:

rake 中止! 数据库配置未指定适配器

有什么设置方法吗?

在 Rails 3.0.5 上做同样的事情,但有一些问题和 cmets。 适配器是mysql还是mysql2? Xeround 上关于设置站点的示例是 mysql://username:password@host:port/database

mysql2 是与 Rails 3 一起使用的正确 gem(mysql 0.2.7 用于 3.0.x,最新用于 3.1),但 url 中的名称可能只是他们选择的名称。我猜你的工作,但仍然......

我想 Heroku 的 Xeround 插件是不需要的吧? heroku addons:add xeround –app xxxx 表示该插件仅对选定用户可用

当我尝试迁移时,最后以数据库 url 的名称使用 mysql 或 mysql2 我得到:

rake 中止! 数据库配置未指定适配器

问过 Heroku 但还没有答案……

【问题讨论】:

  • 你有没有得到这个答案?如果有,请分享!
  • 嗨,实际上不是。我仍在使用 Heroku DB,目前并不紧急。我稍后可能会尝试,但实际上我没有任何新的尝试,也许只是一个干净的开始。你是否也面临同样的问题?

标签: heroku xeround


【解决方案1】:

我一直在将 Xeround 用于托管在 Heroku 上的几个应用程序。

我没有使用 Rails 的具体经验。仅限 Sinatra...但希望这对您有所帮助。

我不使用插件。通过 Xeround 自行设置帐户成本更低。

像连接任何 MySQL 数据库一样连接到它......

连接字符串看起来就像您所说的那样: mysql://username:password@host:port/database

主机/端口由 Xeround 在管理数据库中提供。数据库名称将是您在 phpMyAdmin 中设置的任何名称。用户/通行证不是您的 Xeround 帐户凭据。它们是您为该数据库实例设置的凭据。

例如...如果您的 ORM 是 Datamapper... 执行以下操作:

DataMapper.setup(:default, ENV['XEROUND_CONN'])

或者,如果您使用的是 Sequel:

DB = Sequel.connect(ENV['XEROUND_CONN'])

然后你需要设置你的 XEROUND_CONN(或任何你想称之为的)ENV 变量。

使用 Heroku 命令执行此操作

heroku config:add XEROUND_CONN='mysql://username:password@host:port/database'

警告:Datamapper 与 Xeround 存在问题。 Datamapper 不支持设置存储引擎(myisam..etc..)。 Xeround 使用他们自己的定制 Xeround 存储引擎。所以...由于存储引擎的差异,我在运行 auto_migrate 时遇到了麻烦。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-14
    • 2023-03-12
    • 2020-07-13
    • 2018-01-28
    • 2011-11-02
    • 2013-05-11
    • 2020-02-28
    • 2019-11-10
    相关资源
    最近更新 更多