Go to file
2023-01-29 08:40:35 +01:00
.github dbmodel added to build 2023-01-28 20:19:16 +01:00
.vscode added restore-terminals config 2022-08-19 15:47:55 +02:00
app try to fix electron errors after start 2023-01-23 19:41:31 +01:00
docker start api => listen api 2022-06-12 19:45:27 +02:00
img screenshot 2022-09-05 20:53:46 +02:00
integration-tests default value support in table yaml files #296 2022-06-12 08:15:35 +02:00
misc sql editor - play icon to execute sql fragment 2022-09-25 14:43:10 +02:00
packages fixed dependency 2023-01-29 08:40:12 +01:00
patches removed unused packages 2021-12-22 16:34:34 +01:00
plugins appname sent to connection - tedious 2023-01-27 16:42:01 +01:00
test #228 use nginx as proxy 2022-02-26 09:54:14 +01:00
.gitignore [ackaged plugins for electron optimalization 2021-05-20 10:22:08 +02:00
.node-version chore(app): add node version 2022-11-03 09:13:54 +01:00
adjustPackageJson.js oracledb added to native dependencies 2022-11-20 17:07:21 +01:00
CHANGELOG.md changelog 2023-01-06 18:03:44 +01:00
docker-compose.yaml renamed dbgate-data to .dbgate #248 2022-05-17 21:05:48 +02:00
fillNativeModules.js fill native modules - oracledb 2022-11-20 17:03:55 +01:00
fillPackagedPlugins.js Revert "don't include redis in output bundle" 2022-03-24 18:52:34 +01:00
generatePadFile.js fix 2021-01-07 17:01:14 +01:00
LICENSE
package.json v5.2.2-alpha.13 2023-01-29 08:40:35 +01:00
prettier.config.js fix 2021-01-21 13:54:14 +01:00
README.md use pinomin package 2023-01-28 10:22:12 +01:00
resetPackagedPlugins.js [ackaged plugins for electron optimalization 2021-05-20 10:22:08 +02:00
screenshot800.png screenshot 800x600 2021-01-21 17:53:52 +01:00
screenshot.png updated readme 2021-12-10 20:42:35 +01:00
setCurrentVersion.js dbmodel added to build 2023-01-28 20:19:16 +01:00
start.bat Oracle driver first data 2022-10-11 17:04:38 +02:00
yarn.lock fixed dependency 2023-01-29 08:40:12 +01:00

NPM version GitHub All Releases dbgate dbgate styled with prettier

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 MIT license and is completely free.

Supported databases

  • MySQL
  • PostgreSQL
  • SQL Server
  • Oracle
  • MongoDB
  • Redis
  • SQLite
  • Amazon Redshift
  • CockroachDB
  • MariaDB

Features

  • Table data editing, with SQL change script preview
  • Edit table schema, indexes, primary and foreign keys
  • Compare and synchronize database structure
  • ER diagram
  • Light and dark theme
  • Master/detail views, foreign key lookups
  • Query designer
  • Form view for comfortable work with tables with many columns
  • JSON view on MongoDB collections
  • Explore tables, views, procedures, functions, MongoDB collections
  • SQL editor
    • execute SQL script
    • SQL code formatter
    • SQL code completion
    • Add SQL LEFT/INNER/RIGHT join utility
  • Mongo JavaScript editor, execute Mongo script (with NodeJs syntax)
  • Redis tree view, generate script from keys, run Redis script
  • Runs as application for Windows, Linux and Mac. Or in Docker container on server and in web Browser on client.
  • Import, export from/to CSV, Excel, JSON, NDJSON, XML
  • Free table editor - quick table data editing (cleanup data after import/before export, prototype tables etc.)
  • Archives - backup your data in NDJSON files on local filesystem (or on DbGate server, when using web application)
  • Charts, export chart to HTML page
  • For detailed info, how to run DbGate in docker container, visit docker hub
  • Extensible plugin architecture
  • Perspectives - nested table view over complex relational data, query designer on MongoDB databases

How to contribute

Any contributions are welcome. If you want to contribute without coding, consider following:

  • Tell your friends about DbGate or share on social networks - when more people will use DbGate, it will grow to be better
  • Write review on Slant.co or G2
  • 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.
  • Create some tutorial video on youtube
  • Become a backer on GitHub sponsors or Open collective
  • Where a small coding is acceptable for you, you could create plugin. Plugins for new themes can be created actually without JS coding.

Thank you!

Why is DbGate different

There are many database managers now, so why DbGate?

  • Works everywhere - Windows, Linux, Mac, Web browser (+mobile web is planned), without compromises in features
  • Based on standalone NPM packages, scripts can be run without DbGate (example - CSV export )
  • Many data browsing functions based using foreign keys - master/detail, expand columns, expandable form view

Design goals

  • Application simplicity - DbGate takes the best and only the best from old DbGate, DatAdmin and DbMouse .
  • Minimal dependencies
    • Frontend - Svelte
    • Backend - NodeJs, ExpressJs, database connection drivers
    • JavaScript + TypeScript
    • App - electron
  • 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

How to create plugin

Creating plugin is described in documentation

But it is very simple:

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.