Skip to content

sagar-gavhane/active-query-builder

Repository files navigation

active-query-builder

Motto

Simple and flexible way to write your next MySQL queries.

Badges

npm npm GitHubGitHub contributors

PRs Welcome GitHub issues GitHub pull requests node

The problem

Writing queries with mysql is difficult because it doesn't supports ES6 Promise and while working on a personal project I found that same queries are repeated over and over.

This solution

I have come up with a simple and flexible solution for writing repetitive queries using active query builder. This pattern allows information to be retrieved, inserted, and updated in your database with minimal scripting. In some cases only one or two lines of code are necessary to perform a database action.

Getting Started

This package is mainly designed for MySQL. It's written in JavaScript, does not require compiling, and is MIT licensed.

const ActiveQueryBuilder = require('active-query-builder')

// make connection to your database
const conn = new ActiveQueryBuilder({
  host: 'localhost',
  user: 'root',
  password: 'root',
  database: 'sandbox',
})

// query method
conn.query('SELECT * FROM person WHERE email=?', ['john@domain.com'])
  .then(({results, fields, query}) => {
    console.log(results) // this is your result
  })

// get method
conn.get('users').then(({results, fields, query}) => {
  console.log(results) // this is your result
})

// get_where method
conn.get_where('users', { 'email': 'john@domain.com' })
  .then(({ results, fields, query }) => {
    console.log(results) // this is your result
  })

Prerequisites

Things you need to install the package

  1. Node 8.10 or above
  2. MySQL community edition

Installing

A step by step series of examples that tell you how to get a development env running

Say what the step will be

npm install mysql active-query-builder --save

Running the tests

Tests gives us confidence, hence we have written tests for each method. Before creating pull request make sure that you have passed all tests

npm run test

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

Sagar Gavhane - core author

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Releases

No releases published

Packages

No packages published