使用Xeround DB的Heroku应用程序,如何配置?

时间:2011-10-29 11:18:55

标签: heroku xeround

我正在尝试设置Heroku应用程序,但使用的是Xeround数据库。我发现的说明有点令人困惑:

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

我的怀疑是:

  • 这需要Xeround插件吗?至少heroku插件:添加xeround -app xxxx说:该插件只适用于选定的用户

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

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

然后从说明中步骤#5真的很混乱,不清楚该部分是否是可选的(我希望它是)。如果它是强制性的,它不会告诉它必须添加哪个文件......

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

耙子流产了! 数据库配置未指定适配器

任何想法如何设置?

对Rails 3.0.5做同样的事情但有一些问题和评论。 适配器是mysql还是mysql2?关于安装站点的Xeround示例是mysql:// username:password @ host:port / database

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

我想象Heroku的Xeround插件不需要吗? heroku addons:添加xeround -app xxxx表示该附加组件仅适用于所选用户

最后,当我尝试迁移时,在db url的名称中使用mysql或mysql2,我得到:

耙子流产了! 数据库配置未指定适配器

问过Heroku但还没回答......

1 个答案:

答案 0 :(得分:1)

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

我没有Rails的具体经验。只有Sinatra ......但希望这可以帮助你。

我不使用附加组件。通过Xeround自行设置帐户的成本更低。

就像你使用任何MySQL数据库一样连接它......

连接字符串看起来就像你说的那样: MySQL的://用户名:密码@主机:端口/数据库

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

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

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

或者如果你正在使用续集:

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时遇到了麻烦。