用于管理原始 sql 迁移脚本的简单工具。
项目描述
地位
最新稳定
开发
目标
Raw-sql-migrate 是用于管理原始 SQL 迁移的工具。
文档
有关完整文档,请参阅 < http://rsm.readthedocs.org/en/latest/ > 页面。
简短指南
在项目目录中使用下一个结构创建 rsm.yaml 或 rsm.py:
database:
engine: engine backend module
host: database host
port: database port
name: database name
user: user name
password: user password
history_table_name: migration history table name
RSM_CONFIG = {
'database': {
'engine': engine backend module,
'host': database host,
'port': database port,
'name': database name,
'user': user name,
'password': user password,
},
'history_table_name': migration history table name,
'packages': [
'package_a',
'package_b',
'package_c.package_d',
],
}
创建第一个迁移
rsm create package_a.package_b initial
编辑找到 package_a/package_b/migrations/0001_initial.py 的迁移文件。例子:
def forward(database_api):
database_api.execute(
'''
CREATE TABLE test (
id INT PRIMARY KEY NOT NULL,
test_value BIGINT NOT NULL,
);
CREATE INDEX test_value_index ON test(test_value);
'''
)
def backward(database_api):
database_api.execute('DROP TABLE test;')
运行迁移:
rsm migrate package_a.package_b
向后迁移:
rsm migrate package_a.package_b 0