升级Pyramid/SQLAlchemy Web应用程序

X-I*_*nce 5 python sqlalchemy paster sqlalchemy-migrate pyramid

我有一个标准的磨机Pylons金字塔应用程序,它使用SQLAlchemy作为其数据库持久性.

我已经设置了一个SQLAlchemy-migrate repo并使其正常运行,但我真的希望能够使用paster升级和降级数据库,或者至少某种方式让用户(安装鸡蛋后)升级/降级数据库到所需的版本.

我现在已将它内置到我的应用程序中,因此在应用程序启动时它会进行版本升级,但我宁愿选择用户明确必须升级数据库的内容,以便他们确切知道发生了什么,并且知道事先做备份.

我该怎么办呢?如何添加粘贴命令?

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

paste make-config appname production.ini
paste setup-app production.ini#appname
Run Code Online (Sandbox Code Playgroud)

要进行第一次设置,要进行数据库升级或升级,我希望:

paste upgrade-app production.ini#appname
Run Code Online (Sandbox Code Playgroud)

或类似的规定.

say*_*yap 1

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