Noteworthy Puppy Movies

    pg-cr-layer

    2.0.18 • Public • Published

    pg-cr-layer NPM version Dependency Status CircleCI Coverage percentage

    A postgres interface layer for common requests. It uses pg to connect and wraps it in a tiny layer using ES2015 promises with the goal to be simpler and compatible with mssql via mssql-cr-layer

    Install

    $ npm install --save pg-cr-layer

    Usage

    var pgCrLayer = require('pg-cr-layer');
    
    var config = {
      user: 'me',
      password: 'my password',
      host: 'localhost',
      port: 5432,
      pool: {
        max: 25,
        idleTimeout: 30000
      }
    };
    
    var layer = new PgCrLayer(config)
    
    layer.connect()
      .then(function() {
        return layer.execute('CREATE TABLE products ( ' +
          'product_no integer, ' +
          'name varchar(10), ' +
          'price numeric(12,2) )');
      })
      .then(function() {
        return layer.transaction(function(t) {
          return layer
    	      .execute('INSERT INTO products VALUES (1, \'Cheese\', 9.99)', null, {transaction: t})
              .then(function() {
                return layer.execute('INSERT INTO products VALUES (2, \'Chicken\', 19.99)', null, {transaction: t})
              })
    		  .then(function() {
            return layer
              .execute('INSERT INTO products VALUES ($1, $2, $3)', [3, 'Duck', 0.99], {transaction: t})
           });
         })
      })
      .then(function() {
        return layer.query('SELECT * FROM products WHERE product_no=@product_no',
          {product_no: {value: 1, type: 'integer'}}) // or just {product_no: 1}
        .then(function(recordset) {
          console.log(recordset[0]); // => { product_no: 1, name: 'Cheese', price: '9.99' }
        })
      })
      .then(function() {
        return layer.close();
      })
      .catch(function(error) {
    	  console.log(error);
      });

    License

    MIT © Andre Gloria

    Install

    npm i pg-cr-layer

    DownloadsWeekly Downloads

    84

    Version

    2.0.18

    License

    MIT

    Unpacked Size

    11.9 kB

    Total Files

    4

    Last publish

    Collaborators

    • andrglo