xalanih是一个python脚本,用于帮助您版本化sql数据库。
xalanih的Python项目详细描述
什么是xalanih?
xalanih是一个python脚本,用于帮助您版本化sql数据库。您可以使用它来管理项目的创建或更新数据库。
技术要求
- python 3.6
- mysqlclient
- sqlparse
如何安装xalanih
pip3 install xalanih
如何使用xalanih
创建数据库
python3 -m xalanih create <database>
其中,<;database>;必须替换为数据库的名称。
更新数据库
python3 -m xalanih update <database>
其中,<;database>;必须替换为数据库的名称。
选项
可以为脚本提供不同的选项。您可以使用以下命令查找所有这些文件:
python3 xalanih -h
工作目录
-d <directory>
指定所有数据库脚本所在的目录。
默认值:“
数据库类型
-t <type>
指定脚本必须连接到的数据库类型。
接受值:mysql 默认值:mysql
宿主
-H <host>
数据库主机的地址。
默认值:本地主机
端口
-p <port>
数据库的端口。
默认值:3306
用户
-u <user>
用于连接的用户
默认值:根
密码
-pwd <password>
用于连接到数据库的密码。
插座
-s <socket>
MySQL套接字的路径(如果它不在默认位置(/tmp/mysql.sock))。
记录
这些选项链接到日志记录。
详细
-v <verbosity>
-v <verbosity>
标准输出中日志的详细程度。
接受值:0,1,2,3,4{str 1}$默认值:3
- 0:没有日志。
- 1:仅错误。
- 2:错误和警告。
- 3:信息、警告和错误。
- 4:调试、信息、警告和错误。
日志文件
-l <filename>
保存日志的文件的名称。它不受详细选项的影响(它始终设置为4)。如果未指定文件,则不会创建任何文件。
上次更新
-to <update>
定义将应用的最后一次更新。必须是不包含在included_updates
中的更新。
无更新
-nu
仅对“创建”选项有效。如果指定,脚本将只执行创建脚本,而不应用更新。
如何构造包含数据库脚本的目录
用于包含数据库所有脚本的目录的结构。
L creation (directory)
L creation.sql (file)
L included_updates (file)
L update (directory)
L script01.sql (file)
L ...
创建(目录)
creation目录将包含用于创建数据库基线的脚本。只有在从零创建数据库时才会调用这些函数。这意味着在数据库更新的情况下不会使用它们。
creation.sql(文件)
脚本creation.sql是xalanih创建数据库的入口点。此文件必须包含创建数据库基线所需的所有脚本。
包含更新(文件)
当您有大量的更新文件时,您将希望使用这些修改直接创建数据库,而不是在之后应用它们。为此,必须将修改直接添加到creation.sql中。但是,为了使xalanih不应用更新脚本,您必须添加已集成到文件中的所有更新脚本的名称。应该一行一个文件名。
更新(目录)
update目录必须包含所有yo你的更新脚本(没有别的)。更新脚本并没有真正的名称,但是字母顺序应该与它们的时间顺序相对应。此外,任何补丁都不能命名为initial_install。这是因为此名称与数据库的创建关联
xalanih创建的表:xalanih_更新
xalanih_patches表包含3列: ID、更新名称和更新应用时间。 脚本使用它来检测已应用的修补程序。与数据库的初始创建关联的修补程序名是initial_install。