Skip to content

Repository files navigation



metalize

Node.js tool for easy work with database metadata


Features

Documentation

Getting Started

npm install metalize pg # postgres
npm install metalize mysql2 # mysql

Do not use quotes in the name of the object. Metalize automatically adds them when needed

constMetalize=require('metalize');constmetalize=newMetalize({dialect: 'postgres',// one of [ 'postgres', 'mysql' ]connectionConfig: {host: '127.0.0.1',port: 5432,// other connection options for dialect},});metalize.find({tables: ['public.users','public.events'],sequences: ['public.usersSeq'],// only for 'postgres' dialect}).then((result)=>console.log(result));/**Result { 'tables': Map { 'public.users' => { columns: [ ... ], primaryKey: { ... }, foreignKeys: [ ... ], unique: [ ... ], indexes: [ ... ], checks: [ ... ] }, 'public.events' => { ... } } 'sequences': Map { 'public.usersSeq' => { start: '1', min: '1', max: '9999', increment: '1', cycle: true, } }}*/

Using an existing connection

constMetalize=require('metalize');const{ Client }=require('pg');constclient=newClient({host: '127.0.0.1',port: 5432,database: 'postgres',user: 'postgres',password: 'postgres',});client.connect();/** * or using 'mysql' dialect * @example * const { createConnection } = require('mysql2/promise'); * const client = await createConnection(...) */constmetalize=newMetalize('postgres');metalize.find({tables: ['public.users']},{ client }).then((result)=>console.log(result));/** * A new connection will not be opened * Instead, the connection from the 'options' will be used */

License

Metalize is open source software licensed as MIT.

About

Node.js tool for easy reading database metadata

Topics

Resources

Contributing

Stars

12 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages