perf: dbeaver 支持使用网关连接数据库

pull/10618/head
Eric 2023-06-02 15:37:33 +08:00 committed by Jiangjie.Bai
parent 9d8c1bb317
commit 8d8f479da6
3 changed files with 30 additions and 5 deletions

View File

@ -1,14 +1,13 @@
import os
import time
import win32api
import shutil
import subprocess
import time
from xml.etree import ElementTree
from xml.sax import SAXException
from common import wait_pid, BaseApplication
import win32api
from common import wait_pid, BaseApplication
_default_path = r'C:\Program Files\DBeaver\dbeaver-cli.exe'
@ -22,6 +21,10 @@ class AppletApplication(BaseApplication):
self.privileged = self.account.privileged
self.host = self.asset.address
self.port = self.asset.get_protocol_port(self.protocol)
if self.tinker_forward:
self.host = self.tinker_forward.host
self.port = self.tinker_forward.port
self.db = self.asset.spec_info.db_name
self.name = '%s-%s-%s' % (self.host, self.db, int(time.time()))
self.app_work_path = self.get_app_work_path()

View File

@ -152,6 +152,20 @@ class Platform(DictObj):
type: LabelValue
class Gateway(DictObj):
id: str
name: str
address: str
port: int
protocols: list[Protocol]
account: Account
class TinkerForward(DictObj):
host: str
port: int
class Manifest(DictObj):
name: str
version: str
@ -199,6 +213,14 @@ class BaseApplication(abc.ABC):
self.asset = Asset(kwargs.get('asset', {}))
self.account = Account(kwargs.get('account', {}))
self.platform = Platform(kwargs.get('platform', {}))
self.gateway = None
self.tinker_forward = None
gateway = kwargs.get('gateway')
tinker_forward = kwargs.get('tinker_forward')
if gateway:
self.gateway = Gateway(gateway)
if tinker_forward:
self.tinker_forward = TinkerForward(tinker_forward)
@abc.abstractmethod
def run(self):

View File

@ -1,7 +1,7 @@
name: dbeaver
display_name: "{{ 'DBeaver Community' | trans }}"
comment: "{{ 'Free multi-platform database tool for developers, database administrators, analysts and all people who need to work with databases.' | trans }}"
version: 0.1
version: 0.2
exec_type: python
author: JumpServer Team
type: general