2016-05-16 60 views
0

我們有一個Rails應用程序,我們需要運行數據庫遷移(添加事務引用數據),該遷移引用另一個獨立服務上的主鍵。我現在可以考慮的唯一方法就是在遷移中添加一個http調用,以從其他服務中獲取密鑰。想知道是否有一個更清潔的方式來實現這一目標?使用現有外鍵進行微服務數據庫遷移

回答

1

有時你只需要獲得一個控制檯並完成工作。移民的哲學觀點是什麼?要以可複製/可重複的方式更改數據庫,即如果要重新配置應用程序或創建新的開發環境。在這種情況下?我想說一句,只是在遷移之外的生產中運行一項任務。

也許,讓它做後臺作業,所以如果一個由於外部服務關閉而失敗,你的整個任務不會重新啓動。

+0

添加rake任務很有意義。但是正如你所指出的那樣,每當我們必須在開發環境中設置/重新創建數據庫時(特別是如果我們插入參考數據作爲我們在這種情況下執行的遷移的一部分),這將最終成爲手動任務。 – Abu

+0

那麼,你不希望它作爲遷移的一部分被自動化,因爲你將主要從模式加載,而不是隨着時間的推移而逐步遷移。我把它放在一個任務中,但也放在你的db:seed文件中。 – court3nay