herokuのxeroundを導入した。すごくハマった・・・
最近herokuにどっぷりです。
昔からmysqlを入れていたので、herokuでmysqlを使いたいと思い「xeround」っていうアドオンを導入してみました。
導入自体は簡単だったのですが、文字化けががが・・・
何やっても直らない、導入自体は以下のURLを参考に
ヵェの部屋♪-BLOG- : herokuのアドオンでmysqlを利用する。もち無料。
で、何が悪いのか全くわからず、色々と挑戦していたらAdapterが「mysql2」ではなく「mysql」になってました。
しかし、それだけで文字化けになるとは・・・しかもなんで、「mysql」なんだよっと思いながら修正をかましてやりました。(元々はmysql2を入れたのですが、うまく動作せずにmysqlにしたら素直に動いたので、「あ、動いているじゃん」と勘違いしてしまいました。)
まず、Gemfileに追記
gem 'mysql2' gem 'activerecord-mysql-adapter' # activerecord-mysql-adapterはちょっといるのかわからないけど、入れろよって言われたのでつけてます。
ここからが面倒くさいです。
まず「heroku config」で設定周りの確認をします。
DATABASE_URL: mysql://******************* XEROUND_DATABASE_ADAPTER: mysql XEROUND_DATABASE_FAILOVER_ADAPTER: mysql XEROUND_DATABASE_FAILOVER_HOST: **********.db.xeround.com. XEROUND_DATABASE_FAILOVER_NAME: ********** XEROUND_DATABASE_FAILOVER_PASSWORD:******** XEROUND_DATABASE_FAILOVER_PORT: 5990 XEROUND_DATABASE_FAILOVER_URL: mysql://****************** XEROUND_DATABASE_FAILOVER_USERNAME: *********** XEROUND_DATABASE_HOST: *************.db.xeround.com. XEROUND_DATABASE_INTERNAL_ADAPTER: mysql XEROUND_DATABASE_INTERNAL_HOST: *********** XEROUND_DATABASE_INTERNAL_NAME: *********** XEROUND_DATABASE_INTERNAL_PASSWORD: *********** XEROUND_DATABASE_INTERNAL_PORT: 5990 XEROUND_DATABASE_INTERNAL_URL: mysql://*********** XEROUND_DATABASE_INTERNAL_USERNAME: *********** XEROUND_DATABASE_NAME: *********** XEROUND_DATABASE_PASSWORD: *********** XEROUND_DATABASE_PORT: 5990 XEROUND_DATABASE_URL: mysql://*********** XEROUND_DATABASE_USERNAME: ***********
上記のmysqlってなっている奴を全て「mysql2」に書き直します。
(全部やる必要があるかどうかは判りませんが、とりあえずやります。)
DATABASE_URL: mysql2://******************* XEROUND_DATABASE_ADAPTER: mysql2 XEROUND_DATABASE_FAILOVER_ADAPTER: mysql2 XEROUND_DATABASE_FAILOVER_HOST: **********.db.xeround.com. XEROUND_DATABASE_FAILOVER_NAME: ********** XEROUND_DATABASE_FAILOVER_PASSWORD:******** XEROUND_DATABASE_FAILOVER_PORT: 5990 XEROUND_DATABASE_FAILOVER_URL: mysql2://****************** XEROUND_DATABASE_FAILOVER_USERNAME: *********** XEROUND_DATABASE_HOST: *************.db.xeround.com. XEROUND_DATABASE_INTERNAL_ADAPTER: mysql2 XEROUND_DATABASE_INTERNAL_HOST: *********** XEROUND_DATABASE_INTERNAL_NAME: *********** XEROUND_DATABASE_INTERNAL_PASSWORD: *********** XEROUND_DATABASE_INTERNAL_PORT: 5990 XEROUND_DATABASE_INTERNAL_URL: mysql2://*********** XEROUND_DATABASE_INTERNAL_USERNAME: *********** XEROUND_DATABASE_NAME: *********** XEROUND_DATABASE_PASSWORD: *********** XEROUND_DATABASE_PORT: 5990 XEROUND_DATABASE_URL: mysql2://*********** XEROUND_DATABASE_USERNAME: ***********
3時間ぐらいハマったよォォォ
参考URL:
mysql - Using Ruby and XEROUND on Heroku - Stack Overflow