hapi-db-manager

1.1.1 • Public • Published

hapi-db-manager

This is a database manager plug-in for HAPI, it can easy to manage your database with a fantastic web interface.

build status Coverage Status npm downloads

Install

You can add the module to your HAPI using npm:

$ npm install hapi-db-manager --save

You also need to install the inert and vision plugs-ins which support templates and static content serving.

$ npm install inert vision --save

This plug-in is base on the Knex.js to developed, you also need to install the knex library on your project.

$ npm install knex --save

According to Knex.js, you also need to install the appropriate database library: pg for PostgreSQL, mysql for MySQL or MariaDB, sqlite3 for SQLite3.

Quick start

In your HAPI apps main JavaScript file add the following code to created a HAPI server object.

const Hapi = require('hapi');
const Inert = require('inert');
const Vision = require('vision');
const HapiDBManager = require('hapi-db-manager');
const Pack = require('./package');

const server = new Hapi.Server();
server.connection({
    host: 'localhost',
    port: 3000
});

const options = {
    managerPath: '/db',
    databaseConfigList: [{
        name: 'PG DB',
        client: 'pg',
        connection: {
            database: 'linerobot',
            user: 'linerobot',
            password: 'line1234robot'
        },
        pool: {
            min: 2,
            max: 10
        }
    },{
        name: 'SQLite DB',
        client: 'sqlite3',
        connection: {
            filename: './test.sqlite3'
        },
        useNullAsDefault: true
    }]
};

server.register([
    Inert,
    Vision,
    {
        'register': HapiDBManager,
        'options': options
    }], (err) => {
        server.start((err) => {
            if (err) {
                console.log(err);
            } else {
                console.log('Server running at:', server.info.uri);
            }
        });
    }
);

Plugin Options

  • managerPath: (string) The route path for database manager web. - default: /dbadmin
  • databaseConfigList:
    • name: (string) The name of database for display.
    • client: (string) Client adapter. [sqlite3, pg, mysql]
    • connection: (Object) Reference Knex.
    • pool: (string) Reference Knex.
    • useNullAsDefault: (boolean) If you are using sqlite3, please set True.
  • auth: (string) This defines which authentication will be used. - default: local-password [local-password]
  • password: (string) This option only available when auth is local-password, no auth required if the value is empty.
  • debug: (boolean) Not supported yet.

Readme

Keywords

Package Sidebar

Install

npm i hapi-db-manager

Weekly Downloads

3

Version

1.1.1

License

MIT

Last publish

Collaborators

  • starlightslo