wise-paas-datahub-dbmigrate

2.1.9 • Public • Published

Introduction

  • This is a Node.js wrapper for flyway(migration cli tool).

Requirement

  • If your OS is linux, we put java binary file in project by default, and program will auto apply that version.
    • If your OS isn't Linux, you need to install java 8 (java 9 will cause some issues).
  • Node.js: 6.X.X (LTS)

Usage

const flywayCreator = require('wise-paas-scada-dbmigrate');
const flywayBasic = flywayCreator.flywayBasic;
const flywayCustom = flywayCreator.flywayCustom;

const flywayConf = {
  host: '127.0.0.1',
  port: '5432',
  user: '',
  pw: '',
  db: '',
  schema: 'scada_test'
};

try {
  let flywayResult = flywayBasic.info(flywayConf);
  console.log(flywayResult.result);
} catch (err) {
  console.error(err);
}

API description

All APIs are synchronous.

  • Basic API
    • flywayBasic.info(flywayConf)
    • flywayBasic.migrate(flywayConf)
      • We add "group: true" option by default, reason to do batch transaction, so this api has a little bit difference between nativ one.
    • flywayBasic.validate(flywayConf)
    • flywayBasic.baseline(flywayConf)
    • flywayBasic.clean(flywayConf)
  • Customized API
    • flywayCustom.baselineOnMigrate(flywayConf)
      • We add addtional options by default:
        • group: true: do batch transaction.
        • baselineOnMigrate: true: Whether to automatically call baseline when migrate is executed against a non-empty schema with no metadata table. This schema will then be baselined with the baselineVersion before executing the migrations. Only migrations above baselineVersion will then be applied.

Test Case

  • [x] For empty schema, migrate v1
  • [x] For empty schema, V1,V2,V3, migrate respectively, ex. migrate V1, then create V2 file, finally run migrate V2...
  • [x] Use Migrate, For empty schema, V1,V2,V3, batch migrate, migrate these 3 sql files continuously
  • [x] Use baselineOnMigrate, For empty schema, V1,V2,V3, batch migrate, migrate these 3 sql files continuously
  • [x] transaction: one file and batch files
  • [x] For existed schema, it will baseline cureent schema and value as V1, then run migration from V2.
  • [x] Test if run on multi instance PCF is OK.

Notes

  • flywayBasic.clean(flywayConf)會刪除schema,包含裡面的table,reloation等等....使用前請在三確認,建議可以再測試環境試試看。
  • flywayCustom.baselineOnMigrate(flywayConf)使用前請確認existed schema跟migration V1是相同的,因為Baseline後會從V2開始做migrate,詳情請參考baselineOnMigrate參數說明。

Reference

Readme

Keywords

none

Package Sidebar

Install

npm i wise-paas-datahub-dbmigrate

Weekly Downloads

1

Version

2.1.9

License

ISC

Unpacked Size

112 MB

Total Files

217

Last publish

Collaborators

  • advwacloud