Database analyser and visualiser
npm install @wavequery/analyser

- 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
Experience WaveQuery Database Analyser instantly at WaveQuery Playground:
- Explore sample database schemas
- Test with live databases
- Visualize complex relationships
- No setup required
```
npm install @wavequery/analyser
#### CLI
To analyze a database and start the visualization server:
``
npx @wavequery/analyser -t
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 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:
`javascript
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();
``
Feel free to submit a Pull Request.
This project is licensed under the MIT License.