1 Star 8 Fork 2

wanglihui / flyway-js

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

flyway-js

用nodejs实现 类似与flyway更新数据库逻辑 底层使用sequelize.js 执行数据库脚本,理论上sequlize支持的数据库都能使用

安装

     yarn add flyway-js 
     # 或者 npm i flyway-js -S

使用

    import FlywayJs from "flywaj-js";
    //数据库连接
    const db_url = process.env.DB_URL;
    //SQL 或者 ts,js 路径 
    const sql_dir = process.cwd()+'/test/sql'
    async function main() {
        await new FlywayJs(db_url, sql_dir).run();
    }
    
    //如果要关闭文件hash校验需要传递 options参数 
    let options = {
        allowHashNotMatch: true,
    }
    //如果 force_init 为 true 则每次请求flyway_js 表。主要为啦适配单元测试.生产 需要是 false. 单元测试时 需要为 true
    let force_init = true;
    new FlywayJs(db_url, sql_dir, force_init, options).run();

SQL文件或者js、ts文件要求

  • SQL文件 将获取SQL文件内容直接执行
  • TS或JS文件 将require 文件,执行默认导出函数,导出函数格式如下:
export default function(db: Sequelize, t: sequelize.Transaction) {
    //处理数据库逻辑,如果需要事务处理,可以将t传入到需要事务的地方。    
}

测试

    npx mocha

空文件

简介

用nodejs实现 类似与flyway更新数据库逻辑,底层使用sequelize.js 执行数据库脚本,理论上sequlize支持的数据库都能使用 展开 收起
JavaScript 等 2 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
JavaScript
1
https://gitee.com/dog/flyway-js.git
git@gitee.com:dog/flyway-js.git
dog
flyway-js
flyway-js
master

搜索帮助

14c37bed 8189591 565d56ea 8189591