簡體   English   中英

是否在每個git分支中分開Rails的`schema.rb`?

[英]Keep Rails' `schema.rb` separated in each git branch?

使用Rails和Git,如果我在一個分支中運行遷移,則該表現在位於數據庫中。 現在,如果我簽出了一個我不希望進行遷移的分支,該表仍將提交給schema.rb ,因為它是從數據庫中轉儲的。

有沒有辦法防止從數據庫中轉儲架構? 例如,是否可能通過運行遷移而不是通過從DB轉儲表來生成模式? 這對我和公司中的其他人真的很煩。

切換分支時,要么創建一個全新的DB並加載一個空模式,要么將遷移回滾到公共祖先,然后在進入新分支后再次向上遷移。

有一些工具和腳本可以幫助解決這個問題,但是我個人沒有使用過它們,因此我不能為其提供擔保。 這是我在谷歌搜索后發現的一對:

更改模式文件只是真正問題的征兆:Rails正在根據數據庫的模式動態構建模型的屬性。 完全掃除一下schema.rb文件將是不夠的,因為Rails仍將基於一個數據庫,該數據庫基於您當前正在使用的分支的模式不正確的數據庫,對您的模型進行假設。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM