HerokuPostgresにまつわる小ネタ
こんにちは、徐々に涼しくなってきて活力を取り戻しつつある浅野です。
今日は、Heroku Postgresにまつわる小ネタ
- Heroku Postgres の Rollbackの意図がわかった気がした
- 環境変数 DATABASE_URLが変更不可になった
の2つを紹介します。
Heroku Postgres の Rollbackの意図がわかった
Heroku Postgres のロールバックがどんなものかは過去に紹介しております。 ここでも指摘している通り、誤解を招きやすい名前ですよね。
このロールバック、こんな風に理解すれば確かにロールバックだ、と納得するのではという気付きがありました。
これ、 heroku releases:rollback
(アプリを過去のリリースバージョンに戻す)とセットで使う想定でロールバックの名前が与えられたのでは、と思ったのです。
「本番環境に意図せぬ状態のアプリをデプロイしてしまった時に、DBスキーマのマイグレーションも動いてしまった」という状況で、 アプリを安定版に戻すには heroku releases:rollback、DBを安定版のスキーマ/データに戻すには、postgresql の rollback機能を使用する と思えば腑に落ちる名前だなと。
と思ったら、公式の Heroku Postgres Rollback に
just as heroku releases:rollback allows you to roll back to an older deployment of your application.
って書いてありました…。
環境変数 DATABASE_URLが変更不可になった
アプリにHeroku Postgresアドオンを追加した時に自動的に付与される環境変数 DATABASE_URL
の値が変更できなくなりました。(と同僚のおっぴー先生に教えてもらいました)
DashBoardからこの環境変数の値を変更して保存すると、以下のようなエラーメッセージが表示されます。
複数の Heroku Postgresを使っていて、主となるDB(DATABASE_URL
の環境変数で接続できる)を切り替える時にダッシュボードから環境変数を直接変更していたから非常に困る、と思った方にはこちら。 heroku pg:promote
コマンドをお使いください。
上記のケースを除くとDATABASE_URLの値を任意の値へ変更できて嬉しいことあるっけ?と思いつつも、変える必要のない値を変更できなくなると一層安心して使えますね。こういう地味な改善、素敵です。
複数のアプリから単一のDBを参照したい、という時に困る?という気がしましたが、
自前で環境変数に追加する分には好きに設定できて、
Heroku Postgres アドオンを導入しているアプリだけ値を変更できないんですよね、きっと。
投稿: おが | 2015年9月 4日 (金) 10:44