mysql-db-updater

1.0.1 • Public • Published

mysql-db-updater

mysql数据库版本管理工具。

安装

npm install -g mysql-db-updater

使用

  1. 创建一个nodeJS项目
    npm init -y
    
  2. 初始化typescript
    tsc --init
    
  3. 创建一个配置文件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"          // , 
                                    // 
        }
    }
  4. 安装必要依赖
    npm install mdu-types	//provide MDU class
    
  5. 编辑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' } })
    //......
    //操作太多不列举
}

Readme

Keywords

none

Package Sidebar

Install

npm i mysql-db-updater

Weekly Downloads

2

Version

1.0.1

License

ISC

Unpacked Size

86.5 kB

Total Files

29

Last publish

Collaborators

  • yizhi