1

Heroku アプリをセットアップしようとしていますが、Xeround DB を使用しています。私が見つけた指示は少し混乱しています:

http://xeround.com/developers/heroku-cloud-database-mysql/ Xeround で直接データベースを作成して、2 番目の方法に従おうとしています。

私の疑問は次のとおりです。

  • これには Xeround アドオンが必要ですか? 少なくとも heroku addons:add xeround –app xxxx は次のように述べています: そのアドオンは選択したユーザーのみが利用できます

  • Heroku DATABASE_URL を次のように設定する必要があります: mysql://username:password@host:port/database 私の宝石ファイルにはmysql2、0.2.7(Rails 3.0.x用)があります

  • config var には問題がないことがわかりますが、Heroku config --app xxx にはまだ SHARED_DATABASE_URL => postgres://pjyqfgjcbn:.... と表示されます。

次に、手順 5 が非常にわかりにくく、その部分がオプションかどうかが明確ではありません (オプションであると思います)。そして、それが必須の場合、どのファイルに追加する必要があるかはわかりません...

私の目的は、新しい Heroku アプリを作成し、私が持っている既存のアプリをプッシュし、Xeround DB を使用するようにセットアップしてから、Heroku rake db:schema:load を実行することですが、何を試しても取得し続けます:

レーキが中止されました! データベース構成でアダプターが指定されていません

それを設定する方法はありますか?

Rails 3.0.5 でも同じことを行いますが、いくつかの問題とコメントがあります。アダプターは mysql または mysql2 ですか? セットアップ サイトに関する Xeround での例は、mysql://username:password@host:port/database です。

mysql2 は Rails 3 (3.0.x の場合は mysql 0.2.7、3.1 の場合は最新) で使用する正しい gem ですが、URL の名前は彼らが選んだ名前にすぎない可能性があります。あなたのものはうまくいったと思いますが、それでも…</p>

HerokuのXeroundアドオンは必要ないと思いますよね?heroku addons:add xeround –app xxxx は、そのアドオンは選択したユーザーのみが利用できると言います

そして最後に、db url の名前に mysql または mysql2 を使用すると、移行しようとすると次のようになります。

レーキが中止されました! データベース構成でアダプターが指定されていません

Heroku に問い合わせましたが、まだ回答がありません…</p>

4

1 に答える 1

1

Heroku でホストされているいくつかのアプリに Xeround を使用しています。

私は Rails について特別な経験はありません。シナトラのみ...しかし、うまくいけば、これはあなたを助けます.

アドオンは使いません。自分で 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 など) の設定をサポートしていません。Xeround は、独自のカスタム Xeround ストレージ エンジンを使用します。だから... ストレージエンジンの違いにより、auto_migrate の実行に問題がありました。

于 2012-01-17T15:41:42.530 に答える