簡體   English   中英

Rails中如何使用模式版本?

[英]How is schema version used in Rails?

如果我的遷移時間戳早於db / schema.rb中的當前時間戳,那么當我運行rake db:migrate時,為什么它仍然運行?

如果我仍然可以使用先前的時間戳運行遷移,則db / schema.rb擁有版本時間戳的目的是什么?

一段時間之前,使用架構版本來推斷哪些遷移(可能)已運行,哪些遷移未運行。 如今,單獨的遷移已被單獨跟蹤,但是架構版本號並非完全沒有用。 文檔說 (重點是我的):

db / schema.rb包含數據庫的當前版本號。 這樣可以確保兩個分支都接觸到架構合並中發生沖突 發生這種情況時,請手動解決沖突,並保持兩者的最高版本號。

如果您的遷移時間戳早於當前時間戳,則遷移仍在運行。

db / schema中的時間戳阻止您rake db:migrate已經完成的遷移,但是它不能阻止您rake db:migrate VERSION=xxxxxxx

暫無
暫無

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

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