1.0.2 • Published 5 years ago

flosql v1.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
5 years ago

FloSQL

FloSQL is a package for interpolating SQL queries with immediate acting response functions. Currently, only PostgreSQL and MySQL are supported.

Usage

Before you begin querying your DB, create a .env file containing the database information and run a source .env in the root project directory.

For example:

    export DB_SERVER="{ mysql || postgres }"
    export DB="your_db_name"
    export DB_USER="your_db_username"
    export DB_PASS="your_db_password"
    export DB_HOST="localhost"
    export DB_PORT="3306"

Once that's complete, import the flow module into your project and create a new Engine.

    const { Engine } = require("flowsql"),
        engine = new Engine();

Use the asynchronous init() function to initiate said engine into a new variable. db for example.

    var db = await engine.init();
    // or
    engine.init()
        .then(db => {
            // Use db
        })
        .catch(err => {
            // Uh oh
        });

Create a chain object. This will include SQL queries followed by handler functions.

    var chain = [
        `show tables`,
        r => {
            // Create table if no user table
            if(r.length === 0)
                return 'create table user(username varchar(10))';
        },
        `insert into user(username) values('foo')`,
        r => {
            // Log the SQL response from the above query
            console.log(r);
        },
        `select * from user`,
        r => {
            console.log(r[0].username); // 'test_user'
        }
    ]

Execute your chain object with Engine. All SQL / Handler outputs will be returned in an array by the asynchronous db.execute() function.

    var log = await db.execute(chain);
    // or
    db.execute(chain)
        .then(log => {
            // Do something
        })
        .catch(err => {
            // Whoops
        });
1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago