DbGate is a database management tool designed to simplify access, administration, and interaction with multiple database systems. It supports popular databases such as MySQL, PostgreSQL, SQL Server, MongoDB, SQLite, and others, enabling seamless connectivity across various platforms.
Key Features:
Cross-platform compatibility: Runs on Windows, Linux, macOS, and as a web application.
Multi-database support: Connects to and manages multiple database types from a single interface.
Advanced query builder: Facilitates efficient creation and execution of SQL queries.
Data import/export capabilities: Simplifies data migration and backup processes.
User-friendly interface: Designed for ease of use, reducing the learning curve for new users.
Audience & Benefit:
Ideal for database administrators, developers, and IT professionals who need to manage multiple databases efficiently. DbGate streamlines workflows by providing a unified platform for database operations, enhancing productivity and simplifying data management tasks.
DbGate can be installed via winget, making it easy to integrate into your existing environment.
README
DbGate - (no)SQL database client
DbGate is cross-platform database manager.
It's designed to be simple to use and effective, when working with more databases simultaneously.
But there are also many advanced features like schema compare, visual query designer, chart visualisation or batch export and import.
DbGate is licensed under GPL-3.0 license and is free to use for any purpose.
Create issue, if you find problem in app, or you have idea to new feature. If issue already exists, you could leave comment on it, to prioritise most wanted issues
Platform independent - runs as web application in single docker container on server, or as application using Electron platform on Linux, Windows and Mac
How to run development environment
Simple variant - runs WEB application:
yarn
yarn start
If you want more control, run WEB application:
yarn # install NPM packages
And than run following 3 commands concurrently in 3 terminals:
yarn start:api # run API on port 3000
yarn start:web # run web on port 5001
yarn lib # watch typescript libraries and plugins modifications
This runs API on port 3000 and web application on port 5001
Open http://localhost:5001 in your browser
If you want to run electron app:
yarn # install NPM packages
cd app
yarn # install NPM packages for electron
And than run following 3 commands concurrently in 3 terminals:
yarn start:web # run web on port 5001 (only static JS and HTML files)
yarn lib # watch typescript libraries and plugins modifications
yarn start:app # run electron app
How to run built electron app locally
This mode is very similar to production run of electron app. Electron doesn't use localhost:5001.
cd app
yarn
yarn
yarn build:app:local
yarn start:app:local
Running tests
Unit tests (e.g. in dbgate-tools):
yarn workspace dbgate-tools test
Integration tests (requires Docker):
cd integration-tests
yarn test:local # run all tests
yarn test:local:path __tests__/alter-database.spec.js # run a single test file
npm install -g yo # install yeoman
npm install -g generator-dbgate # install dbgate generator
cd dbgate-plugin-my-new-plugin # this directory is created by wizard, edit, what you need to change
yarn plugin # this compiles plugin and copies it into existing DbGate installation
After restarting DbGate, you could use your new plugin from DbGate.
Logging
DbGate uses pinomin logger. So by default, it produces JSON log messages into console and log files. If you want to see formatted logs, please use pino-pretty log formatter.