postgresorm v5.1.1
PostgresORM
A very basic ORM for PostgreSQL
Install
npm i postgresormSetup
- 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.jsfile
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 intable. Similar to theINSERTcommand'table': Name of table to create record indata: Object of table valuesdata = { name: 'Meena', piece: 'Rook', level: 20 } db.list('table',
conditions) - Lists records intable'table': Name of table from which to list recordsconditions: Optional Filters records. eg,_id = 1,price < 200.db.paginate(
'table',paginateparams,conditions) - Paginates records from a table.'table': Table to fetch records frompaginateparams: 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 =
valueand column2 = `othervalue' - You know the drill..
- conditions = { column1: 'value', column2: 'othervalue'} will search for and record a single record where column1 =
db.findonerandom(
'table',conditions)- db.onetomanycreate(
'table',columns,values) - db.update(
'table',conditions,newValues) - db.customquery(
querytext,parameters)querytext: SQL query string.parameters: values. OptionalKeep 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) Incallback, 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 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago