1.0.1 • Published 7 years ago
mysql-db-updater v1.0.1
mysql-db-updater
mysql数据库版本管理工具。
安装
npm install -g mysql-db-updater
使用
- 创建一个nodeJS项目
npm init -y
- 初始化typescript
tsc --init
- 创建一个配置文件
mdu.conf.json
{ "path": { "backupdir": "./backup", "versiondir": "./versions", "mysqlbin": "" //当mysql没有在环境变量时配置此选项 }, "mysql": { "host": "127.0.0.1", // 默认 127.0.0.1 "port": 3306, // 默认 3306 "user": "root", // 可选 "password": "123456", // 可选 "charset":"utf8mb4", // 默认 utf8mb4 "database": "main", // 主数据库 "test": "test" // 用于测试的数据库, // 在升级之前需要测试一下是否有错,从而避免升级到一半出错 } }
- 安装必要依赖
npm install mdu-types //provide MDU class
- 编辑
tsconfig.json
{ "compilerOptions":{ "target": "esnext", "module": "commonjs", "lib": ["esnext"], }, "include": [ "node_modules/mdu-types/index.d.ts" //很重要 ] }
命令
backup
备份数据库
resstore
从指定的.sql
文件恢复数据库
versions
查看版本列表以及数据库当前版本
update
升级到指定版本,默认最新版本
test
升级前务必使用此命令测试错误
help
帮助文档
版本文件编写规则
版本文件是一个typescript文件,命名形如 v00001.ts
// 表示版本 0.1
export async function v_0_1(db: MDU) {
//创建test表
await db.mktable('test')
.id() // id主键
.nameColumn() // name 列
.descColumn() // desc 列
.varchar('hello', 255, {require:true, comment:'列说明'}) //创建hello列
.done() // 调用done函数后开始创建
}
// 版本 0.2
export async function v_0_2(db: MDU) {
// 添加一列到desc字段之后
await db.uptable('test').addColumn('test', 'longtext', { order: { after: 'desc' } })
//......
//操作太多不列举
}
1.0.1
7 years ago