0.0.471 • Published 5 months ago

@wavequery/analyser v0.0.471

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

WaveQuery Database Analyser

🚀 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

0.0.47

5 months ago

0.0.471

5 months ago

0.0.44

7 months ago

0.0.45

7 months ago

0.0.41

7 months ago

0.0.42

7 months ago

0.0.43

7 months ago

0.0.40

7 months ago

0.0.37

7 months ago

0.0.38

7 months ago

0.0.39

7 months ago

0.0.34

7 months ago

0.0.35

7 months ago

0.0.36

7 months ago

0.0.30

10 months ago

0.0.31

9 months ago

0.0.33

9 months ago

0.0.29

10 months ago

0.0.28

10 months ago

0.0.27

10 months ago

0.0.26

10 months ago

0.0.25

10 months ago

0.0.24

10 months ago

0.0.23

10 months ago

0.0.22

10 months ago

0.0.21

10 months ago

0.0.2

10 months ago

0.0.1

10 months ago