管理迁移的另一种方法:数据库作为服务
项目描述
Django库,用于管理和执行手写的PostgreSQL迁移。
让您的数据库管理员定义数据库模式,并提供蓝/绿迁移文件。丢弃Django原生迁移,并在所有地方使用数据库管理员的迁移。
需求
仅支持Postgresql
Django v1.11, v2.0, v2.1, v2.2
在Python 3.6, 3.7或3.8下运行
文档
快速入门
安装Django North
pip install django-north
在您的settings.py中
INSTALLED_APPS = [
# ...
"django_north",
]
NORTH_MANAGE_DB = True
NORTH_MIGRATIONS_ROOT = '/path/to/sql/migrations/'
NORTH_TARGET_VERSION = '1.42'
运行测试
您需要一个可用的Postgresql数据库来测试项目。例如
source <YOURVIRTUALENV>/bin/activate export DATABASE_URL=postgres://USER:PASSWORD@HOST:PORT/NAME (myenv) $ pip install -r requirements_test.txt
为特定版本运行测试
(myenv) $ ./runtest
为所有版本运行测试(如果全局安装了tox,则不需要虚拟环境)
$ tox
使用项目
许多操作在Makefile中有文档说明。更多信息,请使用
$ make help
致谢
渲染此包中使用的工具
历史
0.3.2 (2022-02-07)
添加Django 3兼容性
添加Github动作
修复设置初始化
将pytest_django版本固定以解决已知的multidb问题
添加postgres docker容器
将psycopg2版本固定以修复因类型不兼容导致的utc问题
0.3.1 (2020-07-24)
修复runserver中的septentrion调用
升级到septentrion 0.6.1
0.3.0 (2020-07-24)
删除设置“NORTH_DISCARD_ALL”
添加用于septentrion设置的函数
修复分类器
移除应用迁移的内部逻辑,改用septentrion。
0.2.6 (2019-10-25)
添加对Django 2.2的支持
NORTH_AFTER_SCHEMA_FILES和NORTH_BEFORE_SCHEMA_FILES现在可以接受glob字符串。
0.2.5 (2019-01-22)
添加对Django 2.1 & Python 3.7的支持
添加设置NORTH_AFTER_SCHEMA_FILES用于主模式之后的模式文件。
添加设置NORTH_BEFORE_SCHEMA_FILES,以替换NORTH_ADDITIONAL_SCHEMA_FILES。
弃用设置NORTH_ADDITIONAL_SCHEMA_FILES。
0.2.4 (2018-09-12)
使用–database选项在migrate命令中确定使用哪个数据库(#35)
0.2.3 (2018-06-15)
添加对Django 2.0的支持(#31)
在每个脚本的末尾添加“DISCARD ALL”命令。它添加了一个新的设置变量:NORTH_DISCARD_ALL(#33)
0.2.2 (2018-02-01)
刷新命令:不要刷新迁移表。
0.2.1 (2018-01-29)
将VACUUM添加到默认设置NORTH_NON_TRANSACTIONAL_KEYWORDS。
添加设置NORTH_SCHEMA_VERSION以强制使用schema初始化数据库。
0.2.0 (2017-10-16)
回滚sqlall命令。
为SimpleBlock清理sql语句。
0.1.8 (2017-09-20)
如果不在“manual”目录中存储,检测手动文件。
修复SimpleBlock的unicode错误
0.1.7 (2017-09-06)
修复get_applied_versions结果的排序。
0.1.6 (2017-09-05)
为Django 1.11添加测试。
0.1.5 (2017-05-24)
修复Django 1.10的showfixtures命令。
0.1.4 (2017-05-10)
如果固定不存在,则不会失败。使用最接近的固定用于数据库初始化和刷新命令。
添加对python3的支持。
0.1.3 (2017-04-18)
如果sql文件包含“ALTER TYPE”指令,则使用Block。添加设置以自定义要运行的文件。
0.1.2 (2017-04-13)
如果sql文件包含CONCURRENTLY指令,则使用Block。
0.1.1 (2017-04-11)
添加配置当前版本检测器的可能性。
0.1.0 (2017-03-28)
首次发布在PyPI上。
项目详情
下载文件
下载适用于您的平台文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
构建分发
django-north-0.3.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a3f66eea4cfbe5dd92c4e77004943076bbf8a1cdcde4f0d6c6951ae2af2537bd |
|
MD5 | c0f7c080e85ff9918fac90d32b371c92 |
|
BLAKE2b-256 | 1c42a41ec4ec516bd0f65f2b77a7a2eaa6f2dc2a2e2d5c8ff335bb85c003306e |
django_north-0.3.2-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 939072e4c7276d2e5d9f3757964cdbb94e21c2d49540ac052a32a58036021f23 |
|
MD5 | 08925e4973c5d4fea461fe1a55c6280b |
|
BLAKE2b-256 | b6975685450a7217493dc56dca611d670689aafeb22bacf31853a1887a8506f0 |