Django / Python な人が Heroku で MySQL を使うときに環境変数 DATABASE_URL の末尾に “?reconnect=true” は不要
ググると大体 Rails の話
アプリを初めてHerokuにデプロイする場合、
手順をググると大体が、
CLEARDB_DATABASE_URL= 'mysql://[username]:[password]@[hostname]/[db_name]?reconnect=true'
の値を、
DATABASE_URL
という環境変数にコピーしなさい。
その場合、mysql://
をmysql2://
に変更すること、とよく書いてある。
そのmysql2://
は、よくよく読むと Ruby / Rails 固有の設定ということがわかるので、
Django の場合は変更せずそのままコピーで良いのかと思い、そのまま migrate
しようとするとエラー。
TypeError: __init__() got an unexpected keyword argument 'reconnect'
どうするか
これに関してはここに記載があった。
ClearDB MySQL | Heroku Dev Center
末尾のパラメータ“?reconnect=true”
も Rails ユーザーの為のものなので
DATABASE_URL= 'mysql://[username]:[password]@[hostname]/[db_name]?reconnect=true'
を
DATABASE_URL= 'mysql://[username]:[password]@[hostname]/[db_name]'
に変更すると無事にマイグレート完了。
<広告>
改訂版出ましたね。
- 作者: Michal Jaworski,Tarek Ziade,稲田直哉,芝田将,渋川よしき,清水川貴之,森本哲也
- 出版社/メーカー: KADOKAWA
- 発売日: 2018/02/26
- メディア: 単行本
- この商品を含むブログを見る