Neurologically Paralyzing Mouseovers
Meet npm Pro: unlimited public & private packages + package-based permissions.Learn more »

This package has been deprecated

Author message:

WE'VE MOVED PG-TELEPODS TO @wmfs/pg-telepods PLEASE USE THAT INSTEAD!

pg-telepods

0.0.4 • Public • Published

pg-telepods

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

Install

npm i pg-telepods

DownloadsWeekly Downloads

1

Version

0.0.4

License

MIT

Last publish

Collaborators

  • avatar