导读 CloudBeaver 是一个基于 Web 的云数据库管理工具,支持 PostgreSQL、MySQL、MariaDB、SQLite 和 Firebird 等数据库。
server

osgi 模式,依赖dbeaver

依赖的库
  • 依赖的库
    Equinox osgi 容器
    Eclipse Platform,虚拟文件系统&&插件系统
    Jetty web server
    Java Graphql 前端通信api
    DBeaver 系统管理平台
    一些三方数据库驱动
  • 当前支持的数据库
    pg
    mysql
    mariadb
    sqlite
    firebird
server api

api 地址格式:http://localhost:${ServerPort}/${ContentRoot}/gql/console
CloudBeaver 的为: http://ip:port/dbeaver/gql/console

frontend 技术
技术栈

react 作为单页面技术,InversifyJS作为ioc处理,MobX 管理状态,graphql 进行api 通信
项目使用lerna单体仓库模式管理,集成reshadow 进行web 组件化开发,以及css 模块化
样式效果,ag-grid 进行表格数据展示,Codemirror 做为sql 编辑器

构建&&运行

本地构建,运行命令

cd webapp/packages/dbeaver
yarn run dev --server=localhost:8978
plugins
* core
   * app - Base application folder
   * assets - Styles and translation
   * blocks - Low-level common visual components
   * di - Dependency injection related classes
   * dialogs - Main and context menues, modal windows
   * eventsLog - Logging
   * sdk - GraphQL related services
   * theming - Themisation related services and hooks
* ag-grid-plugin - wrapper over Ag-Grid
* basic-connectio-plugin - provides handling of preconfigured connections
* custom-connection-plugin - provides handling of custom connections
* data-viewer-plugin - provides Data Table View
* object-viewer-plugin - provides Object Property View
* sql-editor - provides SQL-editor tab
* dbeaver - configure and build all plugins to the final application
说明

通过官方的介绍我们可以整体的了解开发模式,方便学习

参考资料
    https://github.com/dbeaver/cloudbeaver/wiki/Frontend-description
    https://github.com/dbeaver/cloudbeaver/wiki/Server-Architecture
    https://github.com/dbeaver/cloudbeaver/wiki/Server-API-explorer
    https://github.com/inversify/InversifyJS
    https://reshadow.dev/
    https://mobx.js.org/README.html
    https://github.com/lerna/lerna
    https://www.ag-grid.com/
    https://codemirror.net/2/
    https://github.com/lttb/reshadow

原文来自:https://www.oschina.net/p/winget

本文地址:https://www.linuxprobe.com/cloudbeaver-web.html编辑:张建,审核员:逄增宝

Linux命令大全:https://www.linuxcool.com/