管理迁移的另一种方法是:dba即服务
django-north的Python项目详细描述
还有另一种管理迁移的方法:dba即服务。
让您喜爱的dba定义数据库模式,并提供蓝色/绿色 迁移文件。删除django本机迁移,并使用dba的迁移 到处都是。
要求
- postgresql仅限(>;=9.4)
- Django,很明显。1.11版,2.0版,2.1版
- 在Python2.7、3.5、3.6或3.7下运行
文档
快速启动
安装Django North:
pip install django-north
在您的settings.py:
INSTALLED_APPS=[# ..."django_north",]NORTH_MANAGE_DB=TrueNORTH_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.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_文件。
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)
- flush命令:不要刷新迁移表。
0.2.1(2018-01-29)
- 将“真空”添加到“北”非“事务”关键字中。
- 添加设置north_schema_version以强制使用架构初始化数据库。
0.2.0(2017-10-16)
- backportsqlall命令。
- 清理SimpleBlock的SQL语句。
0.1.8(2017-09-20)
- 如果未存储在“manual”目录中,则检测手动文件。
- 用simpleblock修复unicode错误
0.1.7(2017-09-06)
- 修复获取应用程序版本结果排序。
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)
-
如果固定装置不存在,不要失败。
对db init和flush命令使用最接近的fixture。
- 添加python3的支持。
0.1.3(2017-04-18)
- 如果SQL文件包含“alter type”指令,请使用块 添加设置以自定义要在块中运行的文件。
0.1.2(2017-04-13)
- 如果SQL文件包含并发指令,请使用块。
0.1.1(2017-04-11)
- 添加配置当前版本检测器的可能性。
0.1.0(2017-03-28)
- pypi上的第一个版本。