Get unlimited public & private packages + package-based permissions with npm Pro.Get started »

@wmfs/pg-delta-file

1.49.0 • Public • Published

pg-delta-file

Tymly Package npm (scoped) CircleCI codecov CodeFactor Dependabot badge Commitizen friendly JavaScript Style Guide license

Outputs change-only-update CSV files (or “delta” files) that contain all the necessary actions required to re-synchronize rows in a cloned table.

Usage

const generateDeltaFile = require('pg-delta-file')

const deltaInfo = await generateDeltaFiles(
  since: '2017-07-16T20:37:26.847Z',
  outputFilepath: '/some/temp/dir/people-delta.csv',
  actionAliases: {
    insert: 'u',
    update: 'u',
    delete: 'd'
  },
  createdColumnName: '_created',
  modifiedColumnName: '_modified',
  transformFunction: (row, callback) => { ... } // optional data transformation
  filterFunction: (row) => { ... } // option filter predicate
  dryrun: true // optional flag, set true to return info without generating output file 
  csvExtracts: {
    '[schema.]people': [
      'PERSON', // Just output a literal
      '$ACTION', // Will output 'u' or 'd'
      '$ROW_NUM', // Row counter
      '@social_security_id', /// Column data
      '@first_name',
      '@last_name',
      '@age'
      '$DATESTAMP',
      '$TIMESTAMP',
      '$DATETIMESTAMP',
    ],
    '[schema2.]address': [
      ...
    ]
  }
)

/*
{
  "totalCount": 5,
  "people": {
    "totalCount": 5
  },
  "address": {
    "totalCount": 3
    "filteredCount": 2
  }
} 
*/

Install

$ npm install pg-delta-file --save

License

MIT

Install

npm i @wmfs/pg-delta-file

DownloadsWeekly Downloads

1,455

Version

1.49.0

License

MIT

Unpacked Size

52.7 kB

Total Files

19

Last publish

Collaborators

  • avatar