Gesundheit generates SQL using a sugary API for managing the abstract syntax tree of a statement. After building your statement programmatically, gesundheit can compile it to a string or execute it against your database for you, using proper bound parameters and allowing for streaming of results.
Here's a quick example to illustrate:
select = require('./lib').select
assert = require('assert')
query = select('chairs', ['chair_type', 'size'])
.where({chair_type: 'recliner', weight: {lt: 25}})
assert.deepEqual(query.compile(), [
'SELECT chairs.chair_type, chairs.size FROM chairs WHERE chairs.chair_type = ? AND chairs.weight < ?',
['recliner', 25]
])
query.execute(console.log)
See the documentation for full API documentation and more examples showing different query types, joins, query execution and more.
In addition to the usual npm install gesundheit
, you will need to install the driver for your database. Driver support is provided by Any-DB, which currently supports MySQL, Postgres and SQLite3. So for example, if you use PostgreSQL as your database backend you would do npm install --save any-db-postgres
.
MIT
Stephen Sugden <glurgle@gmail.com>