大家好,今天給大家分享一款免費開源的跨平臺資料庫管理工具DbGate

一款強大且免費開源的多連線資料庫管理工具

DbGate是一款免費開源的跨平臺資料庫管理工具,支援多種資料庫,包括MySQL、PostgreSQL、SQL Server、MongoDB、SQLite等。它可以在Windows、Linux、Mac作業系統上執行,也可以作為Web應用程式使用,為使用者提供跨平臺的靈活性。

專案介紹

DbGate 是一個跨平臺資料庫管理器,旨在使用者友好且高效,尤其是在同時處理多個資料庫時。

它提供了一系列高階功能,包括模式比較、視覺化查詢設計器、圖表視覺化以及批次匯出和匯入功能。

DbGate 遵循 MIT 許可,可免費使用,彰顯了其對可訪問性和開源協作的承諾。使用者可以線上試用,下載適用於 Windows、Linux 或 Mac 的版本,或以 NPM 包或 Docker 映像的形式執行 Web 版本。

特色功能

1. 資料庫連線

  • 支援連線資料庫型別:MySQL、PostgreSQL、Microsoft SQL Server (支援Windows身份驗證)、Oracle、MongoDB、SQLite (支援檔案拖拽方式快速開啟)、Amazon Redshift、CockroachDB、MariaDB

  • 支援透過 SSH 隧道的連線和SSL方式

  • 支援同時處理多個資料庫連線

  • 支援每個開啟的選項卡(例如查詢、表資料、查詢設計者)都標有其所屬的資料庫

一款強大且免費開源的多連線資料庫管理工具

  • 儲存的密碼預設加密
  • 支援瀏覽資料庫結構
  • 支援瀏覽表、檢視、儲存過程和函式
  • 支援儲存資料庫連線配置前進行測試連線

一款強大且免費開源的多連線資料庫管理工具

2. 資料編輯

  • 資料過濾:使用者可以直接輸入過濾表示式(例如欄位值包含的字元子串),或者透過選單過濾資料。

一款強大且免費開源的多連線資料庫管理工具

  • 擴充套件外接列資訊:引用的列可以新增到列管理器中的檢視中,還允許根據引用的列過濾表。

一款強大且免費開源的多連線資料庫管理工具

  • 表單檢視:當單列資料太長時,可以使用表單檢視展示當前列的完整資訊。

一款強大且免費開源的多連線資料庫管理工具

  • 資料編輯器:支援表格資料的編輯。所有更改都不會立即儲存到資料庫中,首先,您以與 Excel 中類似的方式編輯表格資料,完成後,按 Ctrl+S(或使用上下文選單中的命令),確認後,更改將儲存到資料庫。

一款強大且免費開源的多連線資料庫管理工具

3. SQL編輯器

  • SQL語法高亮
  • 程式碼自動補全
  • 連線嚮導 - 當您精通 SQL 語言,但不記得所有必須連線在一起的表時,可以新增 SQL 連線 加入嚮導

一款強大且免費開源的多連線資料庫管理工具

  • SQL 格式化
  • 儲存SQL到“已儲存的查詢”選項卡,或儲存到磁碟

4. SQL 生成器

DbGate提供的SQL生成器,可以獲得生成建立資料庫/資料的SQL指令碼。SQL生成器支援表(包含外來鍵)的建立、刪除、資料插入以及截斷指令碼,支援檢視、儲存過程、函式的建立和刪除指令碼。

一款強大且免費開源的多連線資料庫管理工具

5. 資料匯入匯出

DbGate支援強大的資料匯入匯出功能,支援CSV、Excel、JSON line、XML、JavaScript指令碼等檔案格式,可以實現在不同資料庫之間的資料複製。

  • 資料匯出

一款強大且免費開源的多連線資料庫管理工具

  • 匯入Excel檔案

一款強大且免費開源的多連線資料庫管理工具

  • JavaScript 指令碼

一款強大且免費開源的多連線資料庫管理工具

6. NoSQL 資料庫支援

DbGate 對 MongoDB 資料庫有廣泛的支援。它使用原生的 MongoDB 驅動程式,因此它不像其他支援 MongoDB 的 SQL 資料庫工具那樣侷限於表式檢視。

它還支援最流行的鍵值資料庫 Redis。

對於MongoDB,DbGate支援:

  • 連線資料庫:包括直接連線、使用 SSH 隧道或自定義 MongoDB URL

  • 瀏覽集合資料、表檢視和 JSON 檢視

  • 過濾和排序集合資料,擴充套件JSON結構

  • MongoDB shell 資料過濾指令碼預覽

  • 匯出和匯入(到不同的 DB 或 JSON、CSV 或 MS Excel 檔案)

  • 執行 MongoDB 查詢(使用 nodejs MongoDB API 語法)

一款強大且免費開源的多連線資料庫管理工具

對於Redis,DbGate支援:

  • 連線資料庫:包括直接連線、使用 SSH 隧道或自定義 Redis URL
  • 透過樹狀檢視瀏覽keys
  • 支援所有的基礎key型別,包含streams
  • 支援建立、重新命名和移除keys
  • 支援編輯key對應的內容
  • 支援執行redis指令碼
  • 支援根據redis key生成相關執行指令碼

一款強大且免費開源的多連線資料庫管理工具

7. 擴充套件外掛

DbGate使用可擴充套件的外掛架構,您可以從yeoman模板建立外掛,外掛即NPM包,可以釋出到NPM庫或者從NPM庫獲取外掛。支援的外掛型別包括匯入/匯出格式支援、資料庫連線驅動支援等。

詳情請查閱,外掛開發文件

一款強大且免費開源的多連線資料庫管理工具

8. 其他

  • ER圖設計:你可以將建立的表生成ER圖。

一款強大且免費開源的多連線資料庫管理工具

  • 儲存檔案:DbGate允許您將檔案儲存到內部 DbGate 儲存或磁碟(當您使用的不是DbGate網路版本時),儲存的檔案型別包括:SQL 查詢、查詢設計、JavaScript 資料指令碼、Markdown 頁面以及圖表。
  • 圖表:DbGate允許將任何查詢結果視覺化,支援的圖表型別包括柱狀圖、折線圖、餅圖,同時DbGate允許自定義顏色或使用隨機顏色。

一款強大且免費開源的多連線資料庫管理工具

  • 地圖:在地圖上視覺化地理資料。

一款強大且免費開源的多連線資料庫管理工具

安裝使用

該應用程式使用 Node.js、JavaScript 和 Svelte 框架構建。使用 Electron.js 構建桌面應用程式。

支援平臺

  • Windows
  • Windows Portable
  • Linux: AppImage, Debian, Snap package,
  • Linux ARM
  • macOS Intel
  • macOS Apple Silicon
  • Docker
  • NPM package

下載應用,請訪問應用程式下載地址

使用Docker安裝自託管應用

從 Docker Hub 儲存庫拉取映像

docker pull dbgate/dbgate

使用以下命令啟動帶有 DbGate 的容器

docker run -it --name dbgate-instance --restart always -p <port on host>:3000 dbgate/dbgate

如果您想預先配置連線:

docker run -it --name dbgate-instance --restart always -p <port on host>:3000 -e CONNECTIONS='mssql' -e LABEL_mssql='MS SQL' -e SERVER_mssql='SERVER_IP' -e USER_mssql='USER' -e PASSWORD_mssql='PWD' -e ENGINE_mssql='mssql@dbgate-plugin-mssql'  dbgate/dbgate

如果你想使用 Docker Compose 安裝它,你可以使用以下程式碼片段

version: '3'
services:
  dbgate:
    image: dbgate/dbgate
    restart: always
    ports:
      - 80:3000
    volumes:
      - dbgate-data:/root/.dbgate
    environment:
      CONNECTIONS: con1,con2,con3,con4

      LABEL_con1: MySql
      SERVER_con1: mysql
      USER_con1: root
      PASSWORD_con1: TEST
      PORT_con1: 3306
      ENGINE_con1: mysql@dbgate-plugin-mysql

      LABEL_con2: Postgres
      SERVER_con2: postgres
      USER_con2: postgres
      PASSWORD_con2: TEST
      PORT_con2: 5432
      ENGINE_con2: postgres@dbgate-plugin-postgres

      LABEL_con3: MongoDB
      URL_con3: mongodb://mongo:27017
      ENGINE_con3: mongo@dbgate-plugin-mongo

      LABEL_con4: SQLite
      FILE_con4: /home/jan/feeds.sqlite
      ENGINE_con4: sqlite@dbgate-plugin-sqlite

volumes:
  dbgate-data:
    driver: local

專案地址

https://github.com/dbgate/dbgate