SQL query manager
- new simple API
- fast, lightweight node module
- shortcut for queries
- caching queries
- customizable queries
- well tested with Chai
- Typescript support
Installation
npm install query-manager
Run tests
Run tests typing in terminal:
npm run test
or run code coverage typing:
npm run coverage
Markups
Put query identifier between @ signs.
- Example 'file1.sql'
--@users.getAll@ SELECT * FROM users; -- @ users.getAllActive @ SELECT * FROM usersWHERE active = 1; -- @users.getBanned @ -- Some other comment here -- another comment SELECT * FROM usersWHERE banned = 1;/* This is very important comment here! */ /* @ users.getLastLogin @ */SELECT last_login FROM usersWHERE user_id = 234; /*This query returns user profile. @users.getUserProfile@ */SELECT *FROM profilesWHERE id = {user_id};/*-- @ users.getFields @*/SELECT {field1}, {field2}FROM usersWHERE email='{email_value}';
Live example
- Go to /example directory. There is example.js script that shows usage of query-manager module.
- Install dependencies with
npm install
- Then run script with node
node example.js
Example snippet
var QueryManager = ;var readFile = ; var sqlTemplates = './file1.sql' './file2.sql'; var qm = sqlTemplates; console; // SELECT * FROM users;console; // SELECT last_login FROM users WHERE user_id = 234; var userProfileOptions = user_id: 345;console; // SELECT * FROM profiles WHERE id = 345; var userFieldsOptions = field1: 'username' field2: 'email' email_value: 'john.doe@mail.com';console; // SELECT username, email FROM users WHERE email='john.doe@mail.com';
LICENCE
MIT