This is a database manager plug-in for HAPI, it can easy to manage your database with a fantastic web interface.
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.
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);
}
});
}
);
-
managerPath
: (string) The route path for database manager web. - default:/dbadmin
-
databaseConfigList
: -
auth
: (string) This defines which authentication will be used. - default:local-password
[local-password
] -
password
: (string) This option only available when auth islocal-password
, no auth required if the value is empty. -
debug
: (boolean) Not supported yet.