2010-05-06 31 views
0

我有數據庫遷移(使用sqlalchemy-migrate)在我的開發環境中運行良好。不過,我對於如何將其整合到我的部署過程中有點難以理解。支持sqlalchemy-migrate部署的Fabfile?

我想使用fabric來執行遠程服務器上的manage.py文件,但我不確定該文件中的存儲庫值使用了什麼。參考'appname/migrations'和'/usr/local/pylons/appname/env/lib/python2.6/site-packages/appname-05.egg/appname/migrations/' 都會失敗並顯示migrate.versioning .exceptions.InvalidRepositoryError

有沒有人有一個fabile和manage.py可以很好地與sqlalchemy-migrate配合使用?

回答

2

我所做的是根據sqlalchemy-migrations文檔生成manage.py文件。在那裏我砍了它來加載我們的配置信息,其中包括數據庫身份驗證信息。在我們的例子中它是一個Pylons應用程序,所以它讀取正確的Pylons config.ini文件。

http://readthedocs.org/docs/sqlalchemy-migrate/en/latest/versioning.html#project-management-script

然後將織物命令所有與manage.py文件VS直接使用Python API交互。由於SA-Migrate manage.py通過應用程序本身的所有內容,我不會遇到像你提到的任何類型的路徑問題。

不知道這是一個'確切'的修復,但可能有所幫助。

+0

非常好 - 我喜歡這種方法,因爲它非常簡單,可以用fabric來編寫manage.py腳本。但是你爲manage.py文件中的'repository'值設置了什麼? 引用'appname/migrations'或'/usr/local/pylons/appname/env/lib/python2.6/site-packages/appname-05.egg/appname/migrations/'都會失敗並顯示migrate.versioning .exceptions.InvalidRepositoryError – 2010-05-07 01:33:00

+0

我在我的應用程序中設置了遷移,因爲我的應用程序位於路徑中,所以我可以將存儲庫設置爲appname/migrations。 – Rick 2010-05-09 00:01:06