蒸馏器是一个新的数据库迁移工具,写的SQLAlchemy笔者  A迁移工具提供以下功能:
- 可以发射的ALTER语句的数据库,以改变的表和其它结构的结构
- 提供了一个制度,即“迁移脚本”可以构造;每个脚本表示一个特定的一系列步骤,可以“升级”目标数据库到一个新的版本,以及可选的一系列步骤,可以“降级”同样,在做反向相同的步骤。
- 允许脚本以某种顺序方式执行。
蒸馏器的目标是:
- 非常开放式和透明的配置和操作。一个新的蒸馏器环境从中选择在一组选项设置时,第一次出现一组模板生成的。模板然后存了一系列的定义完全数据库怎么连接的建立以及如何迁移脚本调用脚本;从一系列的脚本中的模板生成迁移脚本本身。该脚本可以被进一步定制来定义数据库究竟如何将互动与什么结构的新的迁移文件应该采取。
- 用于交易DDL全面支持。默认脚本确保所有迁移事务内发生 - 对于那些支持这个(PostgreSQL中,Microsoft SQL Server的)数据库,迁移可以无需手动撤消失败时的变化进行测试。
- 极简的脚本建设。像重命名表/列,添加/删除列,可通过一条线进行改变列属性基本操作命令,如alter_column(),rename_table(),add_constraint()。没有必要重新充满SQLAlchemy的表结构一样,这些简单的操作 - 该函数本身生成的幕后极简模式结构来实现给定的DDL序列。
- “自动生成”迁移。而现实世界迁移远比什么可以自动确定更加复杂,蒸馏器仍可以消除在从改变的模式生成新的迁移指示初始繁重的工作。该--autogenerate功能将使用的SQLAlchemy的模式检测功能检查数据库的当前状态,如Python的规定比较它的数据库模型的当前状态,并产生了一系列的“候选人”的迁移,使它们成为一个新的迁移脚本的Python指令。显影剂然后编辑新的文件,增加额外的指令,并根据需要进行数据迁移,以生产出成品迁移。表和列级变化可以检测,具有约束和索引跟随为好。
- 对于作为SQL脚本生成迁移的全面支持。我们这些谁在企业环境中工作,知道直接访问DDL命令在生产数据库是一个难得的特权,和DBA想要文本SQL脚本。蒸馏器的使用模式和命令是面向能够因为它直接运行它们到数据库运行一系列迁移到一个文本输出文件一样容易。必须小心,在此模式下不能调用依赖于内存选择行的其他业务 - 蒸馏器试图提供辅助构建像bulk_insert(),以帮助面向数据的操作与基于脚本的DDL兼容。
- 非线性版本。脚本中给出的UUID标识符类似于一个DVCS,一个脚本的到下连杆经由脚本本身内的标记来实现。通过这种开放式的机制,包含其它迁移脚本的分支可以被合并 - 的联系可以手动脚本文件内编辑以创建新的序列。
- 提供ALTER构建体,可用于通过任何SQLAlchemy的应用程序的库。所述构建体的DDL建立在SQLAlchemy的自身DDLElement基,并且可以通过任何应用程序或脚本独立使用。
- 不要过度的SQLite无力ALTER事情打破我们的脖子。 SQLite的对表或列的改动几乎没有支持。这是设计的SQLite的开发者,所以蒸馏器foregoes实施尴尬和不良功能的解决方法这个平台。如果你是认真的架构迁移,使用的数据库是同样严重!
蒸馏器的文档和地位是http://packages.python.org/alembic/.
Requirements:
- Python
评论没有发现