@@ -1,5 +1,6 @@
from dataclasses import dataclass
+from typing import Optional
from app.utils import *
@@ -9,11 +9,11 @@ from configs import logger
from utils import flat_map
-@dataclass
class MysqlDS(DataSourceBase):
- type = 'mysql'
- use_ssl = 0
+ def __init__(self, host: str, port: int, username: str, password: str, database_name: str, use_ssl: int, type: str='mysql'):
+ DataSourceBase.__init__(self, type, host, port, username, password, database_name, )
+ self.use_ssl = use_ssl
@property
def jdbc_url(self):
@@ -15,6 +15,7 @@ def _decode(url, datasource, database_name):
def _format_datasource(db: Session, item: schemas.JobJdbcDatasourceBase, ds_id: int = 0):
if ds_id != 0:
item = db.query(models.JobJdbcDatasource).filter(models.JobJdbcDatasource.id == ds_id).first()
+ print('===',item.__dict__)
if not item:
raise Exception('未找到该数据源')
item.jdbc_url = _decode(item.jdbc_url, item.datasource, item.database_name)
@@ -45,4 +45,6 @@ class JobJdbcDatasource(BaseModel):
kerberos_service_name = Column(String)
# principal
principal = Column(String)
+ # use_ssl
+ use_ssl = Column(Integer)
@@ -31,7 +31,7 @@ class JobJdbcDatasourceBase(BaseModel):
principal: Optional[str]
# use_ssl
- use_ssl: Optional[int]
+ use_ssl: Optional[int] = 0
class Config:
schema_extra = {
# "example": {