• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

flyway-js: 用nodejs实现 类似与flyway更新数据库逻辑,底层使用sequelize.js 执行数 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

flyway-js

开源软件地址:

https://gitee.com/dog/flyway-js

开源软件介绍:

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

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap