2.1.9 • Published 2 years ago

wise-paas-datahub-dbmigrate v2.1.9

Weekly downloads
19
License
ISC
Repository
-
Last release
2 years ago

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

  • For empty schema, migrate v1
  • For empty schema, V1,V2,V3, migrate respectively, ex. migrate V1, then create V2 file, finally run migrate V2...
  • Use Migrate, For empty schema, V1,V2,V3, batch migrate, migrate these 3 sql files continuously
  • Use baselineOnMigrate, For empty schema, V1,V2,V3, batch migrate, migrate these 3 sql files continuously
  • transaction: one file and batch files
  • For existed schema, it will baseline cureent schema and value as V1, then run migration from V2.
  • 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

2.1.9

2 years ago

2.1.8

2 years ago

2.1.7

2 years ago

2.1.6

3 years ago

2.1.5

3 years ago

2.1.4

3 years ago

2.1.3

3 years ago

2.1.2

3 years ago

2.1.1

3 years ago

2.1.0

3 years ago

2.0.10

3 years ago

2.0.9

3 years ago

2.0.8

4 years ago

2.0.7

4 years ago

2.0.6

4 years ago

2.0.5

4 years ago

2.0.4

4 years ago

2.0.3

4 years ago

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago