- 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
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.
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();
Feel free to submit a Pull Request.
This project is licensed under the MIT License.