Node.js tool for easy work with database metadata
npm install metalize pg # postgres
npm install metalize mysql2 # mysqlDo not use quotes in the name of the object.
Metalizeautomatically 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, } }}*/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 */Metalize is open source software licensed as MIT.