微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

升级Pyramid / SQLAlchemy Web应用

如何解决升级Pyramid / SQLAlchemy Web应用

|| 我已经完成了磨工Pylons Pyramid应用程序的标准运行,该应用程序使用sqlAlchemy来实现其数据库持久性。 我已经建立了一个sqlAlchemy-migrate存储库并使其正常运行,但我确实希望能够使用Paster来升级和降级数据库,或者至少要有某种方式让用户(安装完egg后)进行升级/降级。数据库到所需的版本。 我现在已经将其内置到我的应用程序中,因此在应用程序启动时会进行版本升级,但是我宁愿选择用户明确必须升级数据库的方式,以便他们确切地知道发生了什么,并且知道要事先备份。 我将如何处理?如何添加要粘贴的命令? 用户设置应用程序的方式是:
paste make-config appname production.ini
paste setup-app production.ini#appname
要进行首次设置,进行数据库升级或一般而言,我需要:
paste upgrade-app production.ini#appname
或类似的规定。     

解决方法

您可以创建自己的粘贴程序命令,例如
upgrade-app
,然后用anywhere3 with从任何地方调用它。您可以参考金字塔如何实现PShellCommand。     ,它并不是您要找的东西,但是我处理此问题的一种方法是使用Fabric命令。在我的OSS应用程序中,我有一个运行的Fabric命令,该命令会为您的应用程序创建一个.ini文件,然后,在其中调整sqlalchemy.url之后,您运行一个用于进行SA迁移并运行升级的Fabric命令。从那时起,要运行db_upgrade进行升级。 http://bmark.us/install.html 是我已设置的安装文档的示例。 https://github.com/mitechie/Bookie/blob/master/fabfile/database.py 是通过Fabric接口可用的一组特定于数据库的命令。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。