node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org ยป



db-info is a utility module which provides a database independent way of getting database metadata.

The following databases are currently supported:

Quick Examples

var dbinfo = require("db-info");

  driver: 'mysql',
  user: 'root',
  password: 'root',
  database: 'test'
}, function(err, result) {
  /* result = {
    tables: {
      person: {
        name: 'person',
        columns: {
          'id': { name: 'id', notNull: true, primaryKey: true, type: 'integer', length: '11' },
          'name': { name: 'name', notNull: true, type: 'varchar', length: '255' },
          'email': { name: 'email', notNull: false, type: 'varchar', length: '100' },
          'age': { name: 'age', notNull: false, type: 'integer', length: '11' }
  } */


You can install using Node Package Manager (npm):

npm install async


Command Line

db-info --driver=pg --connectionString=--connectionString=tcp://test:test@localhost/test

getInfo(opts, callback)

Gets the metadata from a database.


  • opts - A hash of options.
  • driver - can be either "mysql", "sqlite3", "db-oracle", or "pg" (PostgreSQL)
  • db - if db is passed in this connection will be used instead of making a new connection.
  • other - will be passed to the drivers connect.
  • callback(err, result) - Callback called once complete. result will contain a hash containing all the tables along with column information.


var db = new sqlite3.Database(':memory:');

  driver: 'sqlite3',
  db: db
}, function(err, result) {