トップ «前の日記(2012/04/25 (水) ) 最新 次の日記(2012/04/27 (金) )» 編集 RSS feed

HsbtDiary


2012/04/26 (木) [長年日記]

[heroku][mongodb] heroku-mongodb というプラグインを作った

heroku で MongoHQ や MongoLab を使うと ENV['MONGOHQ_URL'] という環境変数に mongodb スキームの url が設定されて、Web アプリケーションではこの値を使ってアクセスをすることになる。

開発する時は mongodb スキームの url を自分でせっせと分解して mongodump や mongorestore を実行してデータをやりとりすることになるんだけど、これがアプリケーションごとにバラバラなので、その都度 -a myapp を付けて heroku config を実行してから環境変数を確認して、url を分解する必要がある。

こんな作業が果てしなくだるいし、シェルの履歴から実行すると暴発する可能性もあるので、heroku の plugin として -a myapp 指定することで適切に mongodump と mongorestore を実行する奴を作ってみた。

https://github.com/hsbt/heroku-mongodb

mongorestore の時は問答無用で db を破壊してしまうので、heroku コマンドにあるようなアプリケーション名を確認入力させる機能が必要かも。後で追加しておきます。