@wavequery/analyser
TypeScript icon, indicating that this package has built-in type declarations

0.0.471 • Public • Published

WaveQuery Database Analyser

Visualize and Master Your Database Schemas with Ease

npm version GitHub Stars TypeScript Ready Node.js Version

WaveQuery Demo

🚀 Features

  • Support for major databases:
    • PostgreSQL
    • Clickhouse
    • MariaDB
    • BigQuery
    • MySQL
    • SQLite
  • Comprehensive schema analysis
  • Interactive visualization using D3.js
  • Smart relationship detection
  • Junction table identification
  • Stored procedures and views analysis
  • Manual relationship mapping
  • Schema export as JSON

🎮 Try it Live

Experience WaveQuery Database Analyser instantly at WaveQuery Playground:

  • Explore sample database schemas
  • Test with live databases
  • Visualize complex relationships
  • No setup required

Installation

npm install @wavequery/analyser

Usage

CLI

To analyze a database and start the visualization server:

npx @wavequery/analyser -t <database_type> -h <host> -p <port> -u <username> -P <password> -d <database_name> -s -o /path/to/somewhere/

Options:

  • -t, --type: Database type (postgres, mariadb, sqlite)
  • -h, --host: Database host
  • -p, --port: Database port
  • -u, --user: Database user
  • -P, --password: Database password
  • -d, --database: Database name
  • -f, --file: SQLite database file path (for SQLite only)
  • -o, --output <path>, Path to export the JSON file
  • -s, --serve: Start the visualization server after analysis
  • --debug: Enable debug logging

Example:

npx @wavequery/analyser -t postgres -h localhost -p 5432 -u myuser -P mypassword -d mydb -s

After running the command, open a web browser and navigate to the URL provided in the console output to view the schema visualization.

As a Library

You can also use DB Schema Finder as a library in your own projects. Here's a basic example:

import { analyzeDatabase } from '@wavequery/analyser';
import { PostgresConnector } from '@wavequery/analyser';

async function runAnalysis() {
  const connector = new PostgresConnector({
    host: 'localhost',
    port: 5432,
    user: 'myuser',
    password: 'mypassword',
    database: 'mydb'
  });

  try {
    const result = await analyzeDatabase({connector, exportData});
    console.log(JSON.stringify(result, null, 2));
  } catch (error) {
    console.error('Analysis failed:', error);
  }
}

runAnalysis();

Contributing

Feel free to submit a Pull Request.

License

This project is licensed under the MIT License.

MIT © WaveQuery

Package Sidebar

Install

npm i @wavequery/analyser

Weekly Downloads

0

Version

0.0.471

License

MIT

Unpacked Size

216 kB

Total Files

107

Last publish

Collaborators

  • aminkhorrami