跳转到主要内容

简单的原始SQL数据库模式迁移工具。

项目描述

概述

此工具帮助您跟踪和演进数据库模式(SQL)。

它的工作方式如下。每当您对数据库模式进行更改时,您将它们放入“迁移”中——简单地说,就是一个包含一系列SQL语句的.sql文件。Sqlturk会跟踪哪些迁移已被应用,并以保证的顺序运行它们。

设计

有许多工具可以解决数据库模式迁移问题。以下是sqlturk的不同之处

  • 单向迁移。无法“回滚”迁移。在我的经验中,“降级”脚本几乎从未使用过,但编写它们会给开发者带来相当大的负担。它们的存在可能带来一种虚假的安全感——因为使用得很少,所以它们很可能根本无法正常工作。

  • Python无关性。Sqlturk在SQL DDL的术语下运行。它不依赖于SQLAlchemy ORM模型或Django,因此可以在更广泛的环境中使用。纯SQL还意味着,即使不了解Python的合格DBA也可以编写这些脚本。或者它们可以由另一个工具自动生成。

  • 无魔法。我希望有一个以明显、易于理解的方式工作的工具。更改数据库架构可能会产生重大影响,因此能够看到正在发生的事情非常重要。

还没有说服你?一些更复杂的工具: Django Southsqlalchemy-migrate

API 使用

简例

>>> from sqlturk.migration import MigrationTool
>>> tool = MigrationTool('sqlite:///:memory:', migration_dir='testmigrations')
>>> tool.install() # create a database table to track schema changes
>>> tool.find_migrations()
['1_foobar', '2_foobar_data', '10_foobar_delete']
>>> tool.run_migrations()
>>> tool.find_migrations() # check that all migrations have been applied
[]

示例迁移脚本可以在 sqlturk 源代码中找到。Sqlturk 使用 SQLAlchemy 语法来指定数据库连接字符串,有关详细信息,请参阅其 文档

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。

源代码发行版

sqlmigrate-1.0.0.zip (8.7 kB 查看哈希值)

上传时间 源代码

构建发行版

sqlmigrate-1.0.0.win32.exe (205.1 kB 查看哈希值)

上传时间 源代码

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面