0
我正在處理一些假定下面的rollback
函數將回滾所有遷移的代碼。但是,它似乎只是回滾最新的遷移。如何修改rollback
以回滾所有遷移?使用ragtime回滾所有遷移
我正在處理一些假定下面的rollback
函數將回滾所有遷移的代碼。但是,它似乎只是回滾最新的遷移。如何修改rollback
以回滾所有遷移?使用ragtime回滾所有遷移
Ragtime rollback
function接受多個選項。其中有一些要回滾的遷移數或要回滾到的遷移數(amount-or-id
)。
由於ragtime.jdbc/load-resources
返回按名稱排序的所有遷移的序列(按照慣例,他們會通過自己的應用程序的順序排序),您可查詢第一個和獲取其ID:
(-> (ragtime.jdbc/load-resources "migrations")
(first)
(:id))
如果您數據庫是最新的遷移,我想你的遷移seq使用count
作爲amount
也應該工作。
對於給定的例子:在使用本資料
(defn rollback-all
[env]
(let [spec (create-db-spec env)
migrator (create-migrator spec)
count-migrations (-> migrator :migrations count)]
(ragtime.repl/rollback migrator count-migrations)))
所以......,我該如何動態地回滾所有的遷移?有沒有辦法查詢有多少個遷移?或者是否有代表時間開始的「移民身份證」? –
使用有關遷移ID的相關信息增強了答案。 –
謝謝!那就是訣竅。 –