0.0.471 • Published 4 months ago

@wavequery/analyser v0.0.471

Weekly downloads
-
License
MIT
Repository
github
Last release
4 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

4 months ago

0.0.471

4 months ago

0.0.44

6 months ago

0.0.45

6 months ago

0.0.41

6 months ago

0.0.42

6 months ago

0.0.43

6 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

9 months ago

0.0.31

9 months ago

0.0.33

9 months ago

0.0.29

9 months ago

0.0.28

9 months ago

0.0.27

9 months ago

0.0.26

9 months ago

0.0.25

9 months ago

0.0.24

9 months ago

0.0.23

9 months ago

0.0.22

9 months ago

0.0.21

9 months ago

0.0.2

9 months ago

0.0.1

9 months ago