Go to file
Jan Prochazka 235a9ff92d v3.7.8
2020-06-10 18:49:23 +02:00
.github/workflows build docker image 2020-06-10 18:48:54 +02:00
.vscode mssql - incremental analysis 2020-04-11 20:24:30 +02:00
app v3.7.8 2020-06-10 18:49:23 +02:00
docker docker build 2020-03-15 21:10:38 +01:00
packages build docker image 2020-06-10 18:48:54 +02:00
patches deploy WIP 2020-03-14 09:54:34 +01:00
test generate shell script 2020-06-06 21:48:29 +02:00
.gitignore refactor 2019-12-26 20:08:51 +01:00
LICENSE Initial commit 2019-12-24 15:56:00 +01:00
package.json runAsPortal - connections from env variables, cannot be changed 2020-05-17 08:43:42 +02:00
prettier.config.js unified prettier 2020-03-05 13:32:42 +01:00
README.md readme file 2020-05-18 20:52:52 +02:00
screenshot.png screenshot 2020-05-18 19:49:53 +02:00
yarn.lock import export configurator WIP 2020-06-04 16:20:13 +02:00

styled with prettier Donate

DbGate - database administration tool

DbGate is fast and efficient database administration tool. It is focused to work with data (filtering, editing, master/detail views etc.)

Try it online - https://dbgate.org

Currently implemented features

  • Support for Microsoft SQL Server, Postgre SQL, MySQL
  • Table data browsing - filtering, sorting, adding related columns using foreign keys
  • Master/detail views
  • Browsing objects - tables, views, procedures, functions
  • Table data editing, with SQL change script preview
  • SQL editor, execute SQL script, SQL code formatter
  • Runs as application for Windows, Linux and Mac. Or in Docker container on server and in web Browser on client.
  • For detailed info, how to run DbGate in docker container, visit docker hub

Current support for database engines

Action Microsoft SQL Server Postgre SQL MySQL
Tables yes yes yes
Columns yes yes yes
Primary keys yes yes yes
Foreign keys yes yes yes
Run query yes yes yes
Data types yes no no
Views yes no no
Stored procedures yes no no
Functions yes no no

Screenshot

Design goals

  • Application simplicity - DbGate takes the best and only the best from old DbGate, DatAdmin and DbMouse . First will be implemented the most used features from this software.
  • Minimal dependencies - so that the software can be developed in future without problems with obsolete libraries
    • Frontend - React, styled-components, socket.io
    • Backend - NodeJs, ExpressJs, socket.io, database connection drivers
    • JavaScript + TypeScript
    • App - electron
    • There is plan to incorporate SQLite to support work with local datasets
  • Platform independed - will run as web application in single docker container on server, or as application using Electron platform on Linux, Windows and Mac

How Can I Contribute?

You're welcome to contribute to this project! Especially with these topics:

  • Bug fixing
  • Test Mac edition
  • Styles, graphics
  • Better MySQL, Postgre SQL support

Any help is appreciated!

Feel free to report issues and open merge requests.

How to run development environment

yarn
yarn start

If you want to make modifications in TypeScript packages, run TypeScript compiler in watch mode in seconds terminal:

yarn lib

Open http://localhost:5000 in your browser

You could run electron app, using this server:

cd app
yarn
yarn start

How to run built electron app locally

This mode is very similar to production run of electron app. Electron app forks process with API on dynamically allocated port, works with compiled javascript files.

cd app
yarn
yarn
yarn build:app:local
yarn start:app:local

Packages

  • api - backend, Javascript, ExpressJS
  • datalib - TypeScript library for utility classes
  • electron - application (JavaScript)
  • engines - drivers for database engine (mssql, mysql, postgres), analysing database structure, creating specific queries (JavaScript)
  • filterparser - TypeScript library for parsing data filter expressions using parsimmon
  • sqltree - JSON representation of SQL query, functions converting to SQL (TypeScript)
  • types - common TypeScript definitions
  • web - frontend in React (JavaScript)