2012-02-23 5 views
2

を実行してから、のHerokuインスタンスにコードを展開します。これは、私が書いたコードが自分のデータベースと下位互換性があり、移行に長時間かかる場合は、まずコードをプッシュしたくないので、移行が完了するまでアプリをmaintenceモードにしてからアプリを取り出します維持モード。Herokuコードを展開する前に移行

このような解決策が存在する場合、または私の問題を解決するものがあれば、それについて知りたいと思います。現在私はプッシュを受け入れてからマイグレーションを実行してコードをHerokuにデプロイするすべてのコード(およびマイグレーション)を持つ別個のボックスを持っています。

もっと良い解決策はありますか?

+0

MigokuをHerokuにプッシュするだけでなく、db:migrateを実行してから、残りの部分をプッシュするのはなぜですか? –

+0

これはうまくいく可能性があります。ほんの少し余分なお尻。 – maletor

+0

gitで1つのフォルダをプッシュすると、リベースする必要があります。 – maletor

答えて

1

いいえ、あなたの現在のソリューションは唯一の論理的なものだと思います。実際にやりたいことは、データベースとコードを同時にプッシュすることですが、データベース全体ではなくスキーマだけをプッシュすることです。私はあなたがしたようにしかできないと思うし、別の方法で行う必要はないと思う。これはあなたが望んだものなので、何かがHerokuへのプッシュを処理し、データベースの移行を実行し、

-2

heroku db:pullローカルでマイグレーションを実行してから、heroku db:pushを展開して展開することができます。

+0

データをスキーマにプッシュ/プルする必要があります。 – maletor

+1

これは、devのマシンからリモートデータベースにもローカルデータをプッシュし、大きなデータベースには長い時間がかかります。 – stringo0

関連する問題