2017-06-19 43 views
2

我使用yoyo遷移來修改數據庫模式。 我想申請/回滾到Postgre DB並不是所有的「遷移」在遷移文件夾中,但只有那些「遷移」,我選擇。yoyo migrations將選定的遷移應用於postgreSQL

例如,如果我有001.test.py和002.test.py,並且我想僅應用/回滾002.test.py,我該怎麼做? 特別是如何在python代碼中執行此操作,而不是在shell中執行?

悠悠手冊一次只爲所有遷移的執行提供了例子:

from yoyo import read_migrations, get_backend 

backend = get_backend('postgres://postgres:[email protected]/db_test') 
migrations = read_migrations('/home/dfialkovskiy/dev/migrations') 
backend.apply_migrations(backend.to_apply(migrations)) 
backend.rollback_migrations(migrations) 

我想我需要這樣的事情,選擇遷移腳本應用:

backend.apply_migrations(backend.to_apply(migrations[1])) 
backend.rollback_migrations(migrations[0]) 

(這個例子顯然不工作)

回答

1

我寫了我的第一次數據庫遷移時遇到了類似的問題yoyo。 我解決了另一個模塊的問題 - SQLalchemy migrate。 檢查文檔here。 這是非常容易理解和用戶友好的。