1.102.0 • Published 1 year ago

@wmfs/pg-telepods v1.102.0

Weekly downloads
297
License
MIT
Repository
github
Last release
1 year ago

pg-telepods

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

Takes the contents of one PostgreSQL table, applies a transformation function to each row and ensures a target table is kept in sync

Install

$ npm install pg-telepods --save

Usage

const pg = require('pg')
const startTelepods = require('pg-telepods')

// Make a new Postgres client
const client = new pg.Client('postgres://postgres:postgres@localhost:5432/my_test_db')
client.connect()

// Start the Telepods...

startTelepods(
  {
    client: client,
    outputDir: '/some/temp/dir',
    source: {  
      tableName: 'springfield.people',
      hashSumColumnName: 'hash_sum'
    },
    target: {
      tableName: 'government.census',
      hashSumColumnName: 'origin_hash_sum'
    },
    join: {
      'social_security_id': 'social_security_id' // key = source table column, value = target table column
    },
    transformFunction: function (sourceRow, callback) {
      callback(null, {
        'socialSecurityId': sourceRow.socialSecurityId,
        'name': sourceRow.firstName + ' ' + sourceRow.lastName,
        'town': 'Springfield'
      })
    }
  },
  function (err) {
    // All data synchronized from people -> census.
  }
)

Testing

Before running these tests, you'll need a test PostgreSQL database available and set a PG_CONNECTION_STRING environment variable to point to it, for example:

PG_CONNECTION_STRING=postgres://postgres:postgres@localhost:5432/my_test_db

$ npm test

License

MIT

1.98.0

1 year ago

1.97.0

1 year ago

1.102.0

1 year ago

1.96.0

2 years ago

1.101.0

1 year ago

1.99.0

1 year ago

1.100.0

1 year ago

1.94.0

2 years ago

1.93.0

2 years ago

1.92.0

2 years ago

1.95.0

2 years ago

1.91.0

3 years ago

1.90.0

3 years ago

1.89.0

3 years ago

1.88.0

3 years ago

1.87.1

3 years ago

1.86.0

3 years ago

1.87.0

3 years ago

1.85.0

3 years ago

1.84.0

3 years ago

1.83.0

3 years ago

1.82.0

4 years ago

1.81.0

4 years ago

1.80.0

4 years ago

1.79.1

4 years ago

1.79.0

4 years ago

1.78.0

4 years ago

1.77.0

4 years ago

1.76.0

4 years ago

1.75.0

4 years ago

1.74.0

4 years ago

1.73.0

4 years ago

1.72.0

4 years ago

1.71.0

4 years ago

1.70.0

4 years ago

1.69.0

4 years ago

1.68.0

4 years ago

1.67.0

4 years ago

1.66.0

4 years ago

1.65.0

4 years ago

1.64.0

4 years ago

1.63.0

4 years ago

1.62.0

4 years ago

1.61.0

4 years ago

1.60.0

4 years ago

1.59.0

4 years ago

1.58.0

4 years ago

1.57.0

4 years ago

1.56.0

4 years ago

1.55.0

4 years ago

1.54.0

4 years ago

1.53.0

4 years ago

1.52.0

4 years ago

1.51.0

4 years ago

1.49.0

4 years ago

1.50.0

4 years ago

1.48.0

4 years ago

1.47.0

4 years ago

1.46.0

4 years ago

1.45.0

4 years ago

1.44.0

4 years ago

1.42.0

4 years ago

1.43.0

4 years ago

1.41.0

4 years ago

1.39.0

4 years ago

1.40.0

4 years ago

1.36.0

4 years ago

1.37.0

4 years ago

1.35.0

4 years ago

1.38.0

4 years ago

1.34.0

5 years ago

1.33.0

5 years ago

1.32.0

5 years ago

1.31.0

5 years ago

1.30.0

5 years ago

1.29.0

5 years ago

1.28.0

5 years ago

1.27.1

5 years ago

1.27.0

5 years ago

1.26.0

5 years ago

1.25.0

5 years ago

1.24.0

5 years ago

1.23.0

6 years ago

1.22.0

6 years ago

1.21.0

6 years ago

1.20.0

6 years ago

1.19.0

6 years ago

1.18.0

6 years ago

1.17.0

6 years ago

1.16.0

6 years ago

1.15.0

6 years ago

1.14.0

6 years ago

1.13.0

6 years ago

1.12.0

6 years ago

1.11.0

6 years ago

1.10.0

6 years ago

1.9.0

6 years ago

1.8.0

6 years ago

1.7.0

6 years ago

1.6.0

6 years ago

1.5.0

6 years ago

1.4.0

6 years ago

1.3.0

6 years ago

1.2.0

6 years ago

1.1.0

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago