5.1.1 • Published 3 years ago

postgresorm v5.1.1

Weekly downloads
2
License
ISC
Repository
github
Last release
3 years ago

PostgresORM

A very basic ORM for PostgreSQL

Install

npm i postgresorm

Setup

  • Setup database configuration in configuration file, eg config.js config.js
const configObject = {
    connectionString: "postgres://username:password@host:port/database",
    max: config.max,
    idleTimeoutMillis: config.idleTimeoutMillis,
    connectionTimeoutMillis: config.connectionTimeoutMillis
}
  • Initialize the database in your app.js file

app.js

initializeDatabase(configObject);` <br />

ORM Commands

To use in model file, import module first

const pg = require('postgresorm')

const db = pg.db()

OR

const pg = require('postgresorm')

const client = await pg.pool.connect();

const db = pg.db(client)

And after using the particular database context, release it back into the pool

await db.release();
  • db.create('table', data) - Creates a new record in table. Similar to the INSERT command 'table': Name of table to create record in data: Object of table values
    data = {
        name: 'Meena',
        piece: 'Rook',
        level: 20
    }
  • db.list('table', conditions) - Lists records in table 'table': Name of table from which to list records

    conditions: Optional Filters records. eg, _id = 1, price < 200.

  • db.paginate('table', paginateparams, conditions) - Paginates records from a table.

    • 'table': Table to fetch records from
    • paginateparams: Contains options for the paginate function
    paginateparams = {
        sortby: _ASC_ or _DESC_,
        limit: An integer eg _10_,
        page: current page of pagination. Also an integer
    }
    • conditions: Optional Filters records.
  • db.findone('table', conditions)

    • conditions = { column1: 'value', column2: 'othervalue'} will search for and record a single record where column1 = value and column2 = `othervalue'
    • You know the drill..
  • db.findonerandom('table', conditions)

  • db.onetomanycreate('table', columns, values)
  • db.update('table', conditions, newValues)
  • db.customquery(querytext, parameters)
    • querytext: SQL query string.
    • parameters: values. Optional

      Keep your application safe by using parameterized queries. Do this:

    querytext = `SELECT * from example_table where username = $1;`
    parameters = ['sampleuser']

    And never this:

    querytext = `SELECT * from example_table where username = 'sampleuser';`
  • db.transaction(callback) In callback, write your SQL queries For example:
      await db.transaction(client => {
          let newUser = await db.create('users', {email: 'meena@rook.com', name: 'Meena'}, client);
          let newWallet = await db.create('wallets', {user_id: newUser.id, balance: 0}, client);
      });
5.1.1

3 years ago

5.1.0

3 years ago

4.10.1

3 years ago

4.10.0

3 years ago

5.0.1

3 years ago

5.0.0

3 years ago

4.9.1

4 years ago

4.9.0

4 years ago

4.8.3

4 years ago

4.8.2

4 years ago

4.8.1

4 years ago

4.8.0

4 years ago

4.7.1

4 years ago

4.7.0

4 years ago

4.6.1

4 years ago

4.6.0

4 years ago

4.5.1

4 years ago

4.5.0

4 years ago

4.4.4

4 years ago

4.4.1

4 years ago

4.4.0

4 years ago

4.4.3

4 years ago

4.4.2

4 years ago

4.3.2

4 years ago

4.3.1

4 years ago

4.3.0

4 years ago

4.2.3

4 years ago

4.2.2

4 years ago

4.2.5

4 years ago

4.2.4

4 years ago

4.2.1

4 years ago

4.2.0

4 years ago

4.0.1

4 years ago

4.0.0

4 years ago

3.0.0

4 years ago

2.3.3

4 years ago

2.3.0

4 years ago

2.3.2

4 years ago

2.3.1

4 years ago

2.2.1

4 years ago

2.2.0

4 years ago

2.1.0

4 years ago

2.0.3

4 years ago

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago