基本的SQL迁移工具有利于配置而不是约定。
Goose的Python项目详细描述
关于
goose是管理和应用sql数据库迁移的工具。
因为我们的鹅使用sqlalchemy来管理它们的迁移表 您可以连接并迁移sqlalchemy支持的任何数据库。
迁移只是简单的sql文件,应用顺序迁移 在yaml文件中通过配置指定。
用法
首先通过安装迁移信息表初始化数据库:
goose -d sqlite:///my.db -m migrations/ init
现在继续迁移:
goose -d sqlite:///my.db -m migrations/ migrate
要了解应用了哪些迁移,您可以执行以下操作:
goose -d sqlite:///my.db -m migrations/ list
安装
pip安装pyyaml pip安装sqlalchemy
并安装特定数据库所需的任何db api驱动程序:
pip安装psycopg2
项目布局
假设您有一个要在如下目录中添加迁移的项目:
MyApp |-- README `-- package |-- __init__.py `-- somecode.py
您可以添加这样的迁移:
MyApp |-- README |-- package/ | |-- __init__.py | `-- somecode.py `-- migrations/ |-- create_user_tables.sql |-- db_skeleton.sql |-- index.yaml `-- update_users.sql
index.yaml的内容如下:
migrations: - db_skeleton.sql - create_user_tables.sql - update_users.sql