Go to file
Jan Prochazka 89ea95ef45 fix
2021-01-07 16:41:03 +01:00
.github/workflows generate pad file 2021-01-07 16:29:01 +01:00
.vscode mssql - incremental analysis 2020-04-11 20:24:30 +02:00
app v3.8.26 2021-01-07 16:29:17 +01:00
docker docker build 2020-03-15 21:10:38 +01:00
packages info about database connection error 2021-01-05 17:52:18 +01:00
patches deploy WIP 2020-03-14 09:54:34 +01:00
test renamed dbgate packages, because of npmjs policy 2020-11-16 21:59:08 +01:00
.gitignore refactor 2019-12-26 20:08:51 +01:00
generatePadFile.js fix 2021-01-07 16:41:03 +01:00
LICENSE generate pad file 2021-01-07 16:29:01 +01:00
package.json generate pad file 2021-01-07 16:29:01 +01:00
prettier.config.js unified prettier 2020-03-05 13:32:42 +01:00
README.md readme 2020-11-30 21:18:56 +01:00
screenshot.png readme, screenshot 2020-11-16 20:18:49 +01:00
setCurrentVersion.js about modal, current version 2020-12-10 13:31:37 +01:00
yarn.lock active chart menu, using markdown to jsx 2020-12-10 14:24:41 +01:00

styled with prettier Donate NPM version

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://demo.dbgate.org - online demo application

Features

  • Support for Microsoft SQL Server, Postgre SQL, MySQL
  • Table data browsing - filtering, sorting, 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, SQL code completion, SQL join wizard
  • 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
  • Free table editor - quick table data editing (cleanup data after import/before export, prototype tables etc.)
  • Archives - backup your data in JSON files on local filesystem (or on DbGate server, when using web application)
  • Light and dark theme
  • For detailed info, how to run DbGate in docker container, visit docker hub
  • Extensible plugin architecture

Screenshot

Design goals

  • Application simplicity - DbGate takes the best and only the best from old DbGate, DatAdmin and DbMouse .
  • Minimal dependencies
    • 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

Plugins

Plugins are standard NPM packages published on npmjs.com.
See all existing DbGate plugins.
Visit dbgate generator homepage to see, how to create your own plugin.

Currently following extensions can be implemented using plugins:

  • File format parsers/writers
  • Database engine connectors

How Can I Contribute?

You're welcome to contribute to this project! Below are some ideas, how to contribute:

  • Create plugins for new import/export formats
  • Bug fixing
  • Test Mac edition
  • Improve linux package build, add to APT repository
  • Auto-upgrade of electron application

Any help is appreciated!

Feel free to report issues and open merge requests.

Roadmap

Feature Complexity Schedule
Query designer medium december 2020
Table designer (structure editor) big january 2021
Filter SQL result sets small november 2020
Filtering, sorting in free table editor small november 2020
Using tedious driver instead of mssql small january 2021
Support for SQLite big 2021

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

Some dbgate packages can be used also without DbGate. You can find them on NPM repository

  • api - backend, Javascript, ExpressJS NPM version
  • datalib - TypeScript library for utility classes
  • app - application (JavaScript) structure, creating specific queries (JavaScript) NPM version
  • filterparser - TypeScript library for parsing data filter expressions using parsimmon
  • sqltree - JSON representation of SQL query, functions converting to SQL (TypeScript) NPM version
  • types - common TypeScript definitions NPM version
  • web - frontend in React (JavaScript)
  • tools - various tools NPM version