首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >升级Pyramid/SQLAlchemy web应用程序

升级Pyramid/SQLAlchemy web应用程序
EN

Stack Overflow用户
提问于 2011-05-23 12:36:31
回答 2查看 894关注 0票数 5

我有一个标准运行的mill Pylons Pyramid应用程序,它使用SQLAlchemy来实现其数据库持久性。

我已经设置了一个SQLAlchemy-migrate repo并使其正常工作,但我真的希望能够使用paster来升级和降级数据库,或者至少以某种方式让用户(在安装egg之后)将数据库升级/降级到所需的版本。

我现在已经把它内置到我的应用程序中了,所以在应用程序启动时它会进行版本升级,但我更喜欢用户必须明确升级数据库的东西,这样他们才能确切地知道发生了什么,并知道提前备份。

我该怎么做呢?如何添加要粘贴的命令?

用户设置应用程序的方式是:

代码语言:javascript
复制
paste make-config appname production.ini
paste setup-app production.ini#appname

要进行第一次设置,要进行数据库升级或一般情况下的升级,我需要:

代码语言:javascript
复制
paste upgrade-app production.ini#appname

或者其他类似的东西。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-02 17:38:38

您可以创建自己的paster命令,例如upgrade-app,然后使用paster --plugin=appname upgrade-app /path/to/production.ini appname从任何地方调用它。你可以参考金字塔是如何实现PShellCommand的。

票数 1
EN

Stack Overflow用户

发布于 2011-05-23 18:33:00

这并不完全是您想要的,但是我可以使用Fabric命令来处理。我有一个fabric命令,你可以运行它来为你的应用程序创建一个.ini文件,然后,在你调整了其中的sqlalchemy.url之后,你可以运行一个fabric命令来初始化它的SA迁移并运行升级。从那时起,为了升级,你需要运行fab db_upgrade。

http://bmark.us/install.html

是我设置的安装文档的一个示例。

https://github.com/mitechie/Bookie/blob/master/fabfile/database.py

是可通过Fabric接口使用的数据库特定命令集。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6092888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档