又一个基于sqlalchemy的数据库模式迁移工具

nous.migration的Python项目详细描述


还有另一个基于sqlalchemy的数据库架构迁移工具
================================


=====安装
----


添加:

[migration]
recipe=zc.recipe.egg
eggs=
nous.migration

to your buildout.cfg


nos.migration

配置
----


添加到development.ini或其他类型的ini中:

[nos.migration]
app=app:busy
package=busy.migration

migrator希望在app
部分提供sqlalchemy配置,例如:

[app:busy]
sqlalchemy.url=postgresql:///development


如果有人会问我,我也可以将sqlalchemy配置添加到迁移部分。


版本控制系统,并自动用架构的增量填充它们。


这两个设置可能会转到setup.cfg,因为它们与部署无关,并且不需要运行应用程序。

usage
----


bin/migrate development.ini[upgrade degrade setup add_script][version]



您的应用程序将添加如下内容:



有一个“升级”方法初始化
架构。

“busy.migration”)。设置迁移(运行脚本=true)

运行脚本=false)


scripts
----


将脚本放入迁移配置中设置的包中。


scripts单独跟踪。


script文件应采用以下格式:

timestamp script title
201006231515 python迁移脚本.py

timestamp script标题
BR/>如果Python和SQL都存在相同的时间戳,我假定
Python脚本负责运行SQL脚本。我可能会添加
帮助程序,以便以后运行SQL文件。

201006231517_mixed_mixed_migration_script.py
201006231517_upgrade.sql
201006231517_degrade.sql

SQL文件就是要执行的SQL文件。python文件
应包含可调用项:升级和降级,如果脚本不打算可逆,降级可能会丢失。

todo:添加示例迁移脚本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Java中运行时在两个枚举类之间切换   java如何让PicoContainer启动/停止/处置工厂注入的组件?   带有Recyclerview onClick的java多活动   java如何从TestNG tests和Selenium接口调用默认方法?   java无法在Eclipse3.5.2中折叠注释   RR和SJF CPU调度算法的Java代码   java从属性文件配置记录器   java Notify传输在字符更改后超过20个字节完成   java阵列究竟是如何工作的   java跨类/包维护全局但可变的变量   java向setMessageListener注册侦听器服务   java按钮单击不在片段中工作   java GSSExException:使用spnego在GSSAPI上未指定故障(机制级别:不支持/启用带有HMAC SHA196的加密类型AES256CTS模式)   用java绘制虚线的图形   java从networkdrive启动windows捆绑包使用不包括JRE?   多线程java线程体系结构与应用程序设计