GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - dbgate/dbgate: Database manager for MySQL, PostgreSQL, SQL Server, MongoDB, SQLite and others. Runs under Windows, Linux, Mac or as web application

BranchesTags
Open more actions menu

Latest commit

 

History

8,691 Commits
8,691 Commits

Folders and files

NameName
Last commit message
Last commit date
.claude
.claude
 
 
.github
.github
 
 
.vscode
.vscode
 
 
app
app
 
 
common
common
 
 
docker
docker
 
 
e2e-tests
e2e-tests
 
 
img
img
 
 
integration-tests
integration-tests
 
 
misc
misc
 
 
packages
packages
 
 
patches
patches
 
 
plugins
plugins
 
 
test-api
test-api
 
 
test
test
 
 
translations
translations
 
 
workflow-templates
workflow-templates
 
 
.gitignore
.gitignore
 
 
.node-version
.node-version
 
 
.nvmrc
.nvmrc
 
 
AGENTS.md
AGENTS.md
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CLAUDE.md
CLAUDE.md
 
 
LICENSE
LICENSE
 
 
LICENSE-OLD
LICENSE-OLD
 
 
README.md
README.md
 
 
adjustPackageJson.js
adjustPackageJson.js
 
 
docker-compose.yaml
docker-compose.yaml
 
 
fillPackagedPlugins.js
fillPackagedPlugins.js
 
 
generatePadFile.js
generatePadFile.js
 
 
package.json
package.json
 
 
prettier.config.js
prettier.config.js
 
 
resetPackagedPlugins.js
resetPackagedPlugins.js
 
 
screenshot.png
screenshot.png
 
 
screenshot800.png
screenshot800.png
 
 
setCurrentVersion.js
setCurrentVersion.js
 
 
setUpdaterChannel.js
setUpdaterChannel.js
 
 
silent
silent
 
 
start.bat
start.bat
 
 
yarn.lock
yarn.lock
 
 

Repository files navigation

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 GPL-3.0 license and is free to use for any purpose.

  • Try it online - demo.dbgate.cloud - online demo application
  • Download application for Windows, Linux or Mac from dbgate.io
  • Looking for DbGate Community? Download from dbgate.io
  • Run web version as NPM package or as docker image
  • Use nodeJs scripting interface (API documentation)

Supported databases

  • MySQL
  • MariaDB
  • PostgreSQL
  • CockroachDB
  • Amazon Redshift (Premium)
  • SQL Server
  • Oracle
  • SQLite
  • libSQL/Turso (Premium)
  • Cloudflare D1 (Premium)
  • DuckDB
  • Firebird
  • ClickHouse
  • Apache Cassandra
  • MongoDB
  • MongoDB 4 - Legacy (Premium)
  • Redis
  • Azure Cosmos DB (Premium)
  • Amazon DynamoDB (Premium)
  • Firestore (Premium)

Supported APIs (Premium)

  • GraphQL
  • OData
  • OpenAPI (REST)

Features

  • Browse table data with many filtering options, Excel-like filters, multi-value filters
  • 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, next themes available from DbGate Cloud
  • Huge support for work with related data - master/detail views, foreign key lookups, expanding columns from related tables in flat data view
  • Query designer - visual SQL query builder without writing SQL code. Complex conditions like WHERE NOT EXISTS.
  • Query perspectives – innovative nested table view over complex relational data, something like query designer on MongoDB databases
  • 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, DBF
  • Archives - backup your data in NDJSON files on local filesystem (or on DbGate server, when using web application)
  • NDJSON data viewer and editor - browse NDJSON data, edit data and structure directly on NDJSON files. Works also for big NDSON files
  • Charts, export chart to HTML page
  • AI powered database chat
  • Show GEO data on map, export map to HTML page
  • For detailed info, how to run DbGate in docker container, visit docker hub
  • Extensible plugin architecture

One-Click Deploy

Deploy on RepoCloud Deploy on Railway Deploy on Elestio Deploy on Sealos

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
  • Purchase a DbGate Premium license
  • 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
  • Add a SQL script to Public Knowledge Base
  • Where a small coding is acceptable for you, you could create plugin
  • Create a new custom theme and share it on DbGate Cloud

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, DbMouse and SQL Database Studio
  • 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

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

E2E tests (Cypress):

yarn cy:open

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.

About

Database manager for MySQL, PostgreSQL, SQL Server, MongoDB, SQLite and others. Runs under Windows, Linux, Mac or as web application

www.dbgate.io

Topics

cassandraclickhousecockroachdbcosmosdbdatabase-guidatabase-managerduckdbelectronfirebirdfirestorelibsqlmariadbmongodbmysqloraclepostgresqlredissqlsql-serversqlite

Resources

Readme
Activity
Custom properties

Stars

7.4k stars

Watchers

44 watching

Forks

490 forks
Report repository

Releases

Sponsor this project

Used by

Contributors

Languages

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.