2016-05-16 6 views
0

別の独立したサービスの主キーを参照するデータベース移行(トランザクション参照データを追加する)を実行する必要があるレールアプリケーションがあります。私がこれを行うことを考えている唯一の方法は、他のサービスからキーを取得するために、httpコールを移行に追加することです。これを達成するためのよりクリーンな方法があるのだろうかと疑問に思っていましたか?既存の外部キーを使用したMicroservicesデータベースの移行

答えて

1

時々、コンソールを手に入れて作業をしなければならないことがあります。移行の哲学的ポイントは何ですか?複製可能/反復可能な方法でデータベースを変更する場合(つまり、アプリを再プロビジョニングしたり、新しい開発環境を導入する場合)この場合?私はそれをねじ、ちょうど移行の外の生産にタスクを実行すると言うでしょう。

バックグラウンドジョブを作成している可能性があります。そのため、外部サービスがダウンして失敗すると、タスク全体が再開しません。

+0

レーキタスクを追加することは意味があります。しかし、もう一度指摘したように、開発環境でデータベースを設定/再作成するたびに(特に私たちが行っている移行の一環として参照データを挿入する場合)、手動で作業することになります。 – Abu

+0

時間の経過とともにコードが変更されるため、ステップバイステップで移行するのではなく、主にスキーマからロードするため、移行の一部として自動化したくない場合があります。私はこれをタスクに入れますが、db:seedファイルにも入れます。 – court3nay

関連する問題