0.2.0 • Published 11 years ago
postgres-triggers v0.2.0
postgres-triggers 
Create trigger functions for changes (INSERT, UPDATE, DELETE) in tables. The triggers will return a JSON object with some information and the changed row.
Heavily inspired by this blog post by @fritzy.
Because of the use of json_build_object() you'll need Postgres 9.4 or higher.
This module is in its early stages. Feedback and PRs welcome!
Install
npm i [-g] postgres-triggersUsage (CLI)
postgres-triggers postgres://foo@localhost:5432/db table1 tbl2Name:idColumn ...Usage (API)
const triggers = require('postgres-triggers')
triggers({
    db: 'postgres://foo@localhost:5432/db',
    // three ways of specifying table name and id column
    // default idColumn: 'id'
    tables: [
      'tbl1', 'tblName:idColumn', { name: 'tableName', id: 'idColumn'}
    ],
    channel: 'table_update' // optional
}, function(err) {
  if (err) throw err
  console.log('done')
})Trigger Payload
{
  table: 'table-name',
  id: 'id-of-the-change-row',
  type: 'insert|update|delete',
  row: { id: 'baz', foo: 'bar', ... }
}TODO
- allow removal of triggers
 
Tests
You need to give it a database connection string to be able to run the tests.
POSTGRES=postgres://postgres@localhost:5432/postgres npm testLicense
MIT
