Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dlink
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zhaowei
dlink
Commits
aa3bc4b7
Commit
aa3bc4b7
authored
Jan 28, 2022
by
wenmo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
数据源元数据生成Flink DDL
parent
57b07550
Changes
25
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
189 additions
and
13 deletions
+189
-13
DataBaseController.java
...rc/main/java/com/dlink/controller/DataBaseController.java
+8
-0
DataBase.java
dlink-admin/src/main/java/com/dlink/model/DataBase.java
+2
-0
DataBaseService.java
...dmin/src/main/java/com/dlink/service/DataBaseService.java
+2
-0
DataBaseServiceImpl.java
...main/java/com/dlink/service/impl/DataBaseServiceImpl.java
+12
-0
DataBaseMapper.xml
dlink-admin/src/main/resources/mapper/DataBaseMapper.xml
+2
-1
Table.java
dlink-common/src/main/java/com/dlink/model/Table.java
+47
-0
SqlUtil.java
dlink-common/src/main/java/com/dlink/utils/SqlUtil.java
+8
-4
dlink.sql
dlink-doc/sql/dlink.sql
+1
-0
dlink_history.sql
dlink-doc/sql/dlink_history.sql
+6
-0
AbstractDriver.java
...c/main/java/com/dlink/metadata/driver/AbstractDriver.java
+1
-0
AbstractJdbcDriver.java
...in/java/com/dlink/metadata/driver/AbstractJdbcDriver.java
+5
-4
Driver.java
...-base/src/main/java/com/dlink/metadata/driver/Driver.java
+2
-0
ClickHouseDriver.java
...main/java/com/dlink/metadata/driver/ClickHouseDriver.java
+6
-3
DorisDriver.java
.../src/main/java/com/dlink/metadata/driver/DorisDriver.java
+7
-0
MySqlDriver.java
.../src/main/java/com/dlink/metadata/driver/MySqlDriver.java
+11
-0
OracleDriver.java
...src/main/java/com/dlink/metadata/driver/OracleDriver.java
+6
-0
PostgreSqlDriver.java
...main/java/com/dlink/metadata/driver/PostgreSqlDriver.java
+8
-0
SqlServerDriver.java
.../main/java/com/dlink/metadata/driver/SqlServerDriver.java
+7
-0
Utils.ts
dlink-web/src/components/Studio/StudioEvent/Utils.ts
+1
-1
ClickHouseForm.tsx
dlink-web/src/pages/DataBase/components/ClickHouseForm.tsx
+9
-0
DorisForm.tsx
dlink-web/src/pages/DataBase/components/DorisForm.tsx
+9
-0
MySqlForm.tsx
dlink-web/src/pages/DataBase/components/MySqlForm.tsx
+9
-0
OracleForm.tsx
dlink-web/src/pages/DataBase/components/OracleForm.tsx
+9
-0
SqlServerForm.tsx
dlink-web/src/pages/DataBase/components/SqlServerForm.tsx
+9
-0
data.d.ts
dlink-web/src/pages/DataBase/data.d.ts
+2
-0
No files found.
dlink-admin/src/main/java/com/dlink/controller/DataBaseController.java
View file @
aa3bc4b7
...
@@ -145,4 +145,12 @@ public class DataBaseController {
...
@@ -145,4 +145,12 @@ public class DataBaseController {
public
Result
listColumns
(
@RequestParam
Integer
id
,
@RequestParam
String
schemaName
,
@RequestParam
String
tableName
)
{
public
Result
listColumns
(
@RequestParam
Integer
id
,
@RequestParam
String
schemaName
,
@RequestParam
String
tableName
)
{
return
Result
.
succeed
(
databaseService
.
listColumns
(
id
,
schemaName
,
tableName
),
"获取成功"
);
return
Result
.
succeed
(
databaseService
.
listColumns
(
id
,
schemaName
,
tableName
),
"获取成功"
);
}
}
/**
* 获取 FlinkTableSql
*/
@GetMapping
(
"/getFlinkTableSql"
)
public
Result
getFlinkTableSql
(
@RequestParam
Integer
id
,
@RequestParam
String
schemaName
,
@RequestParam
String
tableName
)
{
return
Result
.
succeed
(
databaseService
.
getFlinkTableSql
(
id
,
schemaName
,
tableName
),
"获取成功"
);
}
}
}
\ No newline at end of file
dlink-admin/src/main/java/com/dlink/model/DataBase.java
View file @
aa3bc4b7
...
@@ -38,6 +38,8 @@ public class DataBase extends SuperEntity {
...
@@ -38,6 +38,8 @@ public class DataBase extends SuperEntity {
private
String
note
;
private
String
note
;
private
String
flinkConfig
;
private
String
dbVersion
;
private
String
dbVersion
;
private
boolean
status
;
private
boolean
status
;
...
...
dlink-admin/src/main/java/com/dlink/service/DataBaseService.java
View file @
aa3bc4b7
...
@@ -26,4 +26,6 @@ public interface DataBaseService extends ISuperService<DataBase> {
...
@@ -26,4 +26,6 @@ public interface DataBaseService extends ISuperService<DataBase> {
List
<
Schema
>
getSchemasAndTables
(
Integer
id
);
List
<
Schema
>
getSchemasAndTables
(
Integer
id
);
List
<
Column
>
listColumns
(
Integer
id
,
String
schemaName
,
String
tableName
);
List
<
Column
>
listColumns
(
Integer
id
,
String
schemaName
,
String
tableName
);
String
getFlinkTableSql
(
Integer
id
,
String
schemaName
,
String
tableName
);
}
}
dlink-admin/src/main/java/com/dlink/service/impl/DataBaseServiceImpl.java
View file @
aa3bc4b7
...
@@ -10,10 +10,12 @@ import com.dlink.metadata.driver.DriverConfig;
...
@@ -10,10 +10,12 @@ import com.dlink.metadata.driver.DriverConfig;
import
com.dlink.model.Column
;
import
com.dlink.model.Column
;
import
com.dlink.model.DataBase
;
import
com.dlink.model.DataBase
;
import
com.dlink.model.Schema
;
import
com.dlink.model.Schema
;
import
com.dlink.model.Table
;
import
com.dlink.service.DataBaseService
;
import
com.dlink.service.DataBaseService
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
...
@@ -89,4 +91,14 @@ public class DataBaseServiceImpl extends SuperServiceImpl<DataBaseMapper, DataBa
...
@@ -89,4 +91,14 @@ public class DataBaseServiceImpl extends SuperServiceImpl<DataBaseMapper, DataBa
driver
.
close
();
driver
.
close
();
return
columns
;
return
columns
;
}
}
@Override
public
String
getFlinkTableSql
(
Integer
id
,
String
schemaName
,
String
tableName
)
{
DataBase
dataBase
=
getById
(
id
);
Asserts
.
checkNotNull
(
dataBase
,
"该数据源不存在!"
);
Driver
driver
=
Driver
.
build
(
dataBase
.
getDriverConfig
()).
connect
();
List
<
Column
>
columns
=
driver
.
listColumns
(
schemaName
,
tableName
);
Table
table
=
Table
.
build
(
tableName
,
schemaName
,
columns
);
return
table
.
getFlinkTableSql
(
dataBase
.
getName
(),
driver
.
getFlinkColumnTypeConversion
(),
dataBase
.
getFlinkConfig
());
}
}
}
dlink-admin/src/main/resources/mapper/DataBaseMapper.xml
View file @
aa3bc4b7
...
@@ -14,6 +14,7 @@
...
@@ -14,6 +14,7 @@
<result
column=
"password"
property=
"password"
/>
<result
column=
"password"
property=
"password"
/>
<result
column=
"db_version"
property=
"dbVersion"
/>
<result
column=
"db_version"
property=
"dbVersion"
/>
<result
column=
"note"
property=
"note"
/>
<result
column=
"note"
property=
"note"
/>
<result
column=
"flink_config"
property=
"flinkConfig"
/>
<result
column=
"status"
property=
"status"
/>
<result
column=
"status"
property=
"status"
/>
<result
column=
"health_time"
property=
"healthTime"
/>
<result
column=
"health_time"
property=
"healthTime"
/>
<result
column=
"heartbeat_time"
property=
"heartbeatTime"
/>
<result
column=
"heartbeat_time"
property=
"heartbeatTime"
/>
...
@@ -24,7 +25,7 @@
...
@@ -24,7 +25,7 @@
<!-- 通用查询结果列 -->
<!-- 通用查询结果列 -->
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
id, name, alias,group_name, type,url,username,password,db_version,note,status,health_time,heartbeat_time, enabled, create_time, update_time
id, name, alias,group_name, type,url,username,password,db_version,note,
flink_config,
status,health_time,heartbeat_time, enabled, create_time, update_time
</sql>
</sql>
...
...
dlink-common/src/main/java/com/dlink/model/Table.java
View file @
aa3bc4b7
package
com
.
dlink
.
model
;
package
com
.
dlink
.
model
;
import
com.dlink.assertion.Asserts
;
import
com.dlink.utils.SqlUtil
;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* Table
* Table
...
@@ -57,4 +61,47 @@ public class Table implements Serializable, Comparable<Table> {
...
@@ -57,4 +61,47 @@ public class Table implements Serializable, Comparable<Table> {
public
static
Table
build
(
String
name
,
String
schema
,
List
<
Column
>
columns
)
{
public
static
Table
build
(
String
name
,
String
schema
,
List
<
Column
>
columns
)
{
return
new
Table
(
name
,
schema
,
columns
);
return
new
Table
(
name
,
schema
,
columns
);
}
}
public
String
getFlinkTableWith
(
String
flinkConfig
)
{
String
tableWithSql
=
""
;
if
(
Asserts
.
isNotNullString
(
flinkConfig
))
{
tableWithSql
=
SqlUtil
.
replaceAllParam
(
flinkConfig
,
"schemaName"
,
schema
);
tableWithSql
=
SqlUtil
.
replaceAllParam
(
tableWithSql
,
"tableName"
,
name
);
}
return
tableWithSql
;
}
public
String
getFlinkTableSql
(
String
catalogName
,
Map
<
String
,
String
>
typeConversion
,
String
flinkConfig
)
{
StringBuilder
sb
=
new
StringBuilder
(
"CREATE TABLE "
);
sb
.
append
(
catalogName
+
"."
+
schema
+
"."
+
name
+
" (\n"
);
List
<
String
>
pks
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
columns
.
size
();
i
++)
{
String
type
=
typeConversion
.
containsKey
(
columns
.
get
(
i
).
getType
())
?
typeConversion
.
get
(
columns
.
get
(
i
).
getType
())
:
"STRING"
;
sb
.
append
(
" "
);
if
(
i
>
0
)
{
sb
.
append
(
","
);
}
sb
.
append
(
columns
.
get
(
i
).
getName
()
+
" "
+
type
+
"\n"
);
if
(
columns
.
get
(
i
).
isKeyFlag
())
{
pks
.
add
(
columns
.
get
(
i
).
getName
());
}
}
StringBuilder
pksb
=
new
StringBuilder
(
"PRIMARY KEY ( "
);
for
(
int
i
=
0
;
i
<
pks
.
size
();
i
++)
{
if
(
i
>
0
)
{
pksb
.
append
(
","
);
}
pksb
.
append
(
pks
.
get
(
i
));
}
pksb
.
append
(
" ) NOT ENFORCED\n"
);
if
(
pks
.
size
()
>
0
)
{
sb
.
append
(
" ,"
);
sb
.
append
(
pksb
);
}
sb
.
append
(
") WITH (\n"
);
sb
.
append
(
getFlinkTableWith
(
flinkConfig
));
sb
.
append
(
");\n"
);
return
sb
.
toString
();
}
}
}
dlink-common/src/main/java/com/dlink/utils/SqlUtil.java
View file @
aa3bc4b7
...
@@ -10,17 +10,21 @@ import com.dlink.assertion.Asserts;
...
@@ -10,17 +10,21 @@ import com.dlink.assertion.Asserts;
*/
*/
public
class
SqlUtil
{
public
class
SqlUtil
{
public
static
String
[]
getStatements
(
String
sql
,
String
sqlSeparator
)
{
public
static
String
[]
getStatements
(
String
sql
,
String
sqlSeparator
)
{
if
(
Asserts
.
isNullString
(
sql
))
{
if
(
Asserts
.
isNullString
(
sql
))
{
return
new
String
[
0
];
return
new
String
[
0
];
}
}
return
sql
.
split
(
sqlSeparator
);
return
sql
.
split
(
sqlSeparator
);
}
}
public
static
String
removeNote
(
String
sql
){
public
static
String
removeNote
(
String
sql
)
{
if
(
Asserts
.
isNotNullString
(
sql
))
{
if
(
Asserts
.
isNotNullString
(
sql
))
{
sql
=
sql
.
replaceAll
(
"\u00A0"
,
" "
).
replaceAll
(
"--([^'\r\n]{0,}('[^'\r\n]{0,}'){0,1}[^'\r\n]{0,}){0,}"
,
""
).
replaceAll
(
"[\r\n]+"
,
"\r\n"
).
trim
();
sql
=
sql
.
replaceAll
(
"\u00A0"
,
" "
).
replaceAll
(
"--([^'\r\n]{0,}('[^'\r\n]{0,}'){0,1}[^'\r\n]{0,}){0,}"
,
""
).
replaceAll
(
"[\r\n]+"
,
"\r\n"
).
trim
();
}
}
return
sql
;
return
sql
;
}
}
public
static
String
replaceAllParam
(
String
sql
,
String
name
,
String
value
)
{
return
sql
.
replaceAll
(
"\\$\\{"
+
name
+
"\\}"
,
value
);
}
}
}
dlink-doc/sql/dlink.sql
View file @
aa3bc4b7
...
@@ -93,6 +93,7 @@ CREATE TABLE `dlink_database` (
...
@@ -93,6 +93,7 @@ CREATE TABLE `dlink_database` (
`username`
varchar
(
50
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'用户名'
,
`username`
varchar
(
50
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'用户名'
,
`password`
varchar
(
50
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'密码'
,
`password`
varchar
(
50
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'密码'
,
`note`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'注释'
,
`note`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'注释'
,
`flink_config`
text
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'Flink配置'
,
`db_version`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'版本,如oracle的11g,hbase的2.2.3'
,
`db_version`
varchar
(
255
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
DEFAULT
NULL
COMMENT
'版本,如oracle的11g,hbase的2.2.3'
,
`status`
tinyint
(
1
)
NULL
DEFAULT
0
COMMENT
'状态'
,
`status`
tinyint
(
1
)
NULL
DEFAULT
0
COMMENT
'状态'
,
`health_time`
datetime
(
0
)
NULL
DEFAULT
NULL
COMMENT
'最近健康时间'
,
`health_time`
datetime
(
0
)
NULL
DEFAULT
NULL
COMMENT
'最近健康时间'
,
...
...
dlink-doc/sql/dlink_history.sql
View file @
aa3bc4b7
...
@@ -485,4 +485,10 @@ ADD COLUMN `database_id` int(11) NULL COMMENT '数据源ID' AFTER `cluster_confi
...
@@ -485,4 +485,10 @@ ADD COLUMN `database_id` int(11) NULL COMMENT '数据源ID' AFTER `cluster_confi
ALTER
TABLE
`dlink_task`
ALTER
TABLE
`dlink_task`
ADD
COLUMN
`env_id`
int
(
11
)
NULL
COMMENT
'环境ID'
AFTER
`jar_id`
;
ADD
COLUMN
`env_id`
int
(
11
)
NULL
COMMENT
'环境ID'
AFTER
`jar_id`
;
-- ----------------------------
-- 0.6.0-SNAPSHOT 2022-01-28
-- ----------------------------
ALTER
TABLE
`dlink_database`
ADD
COLUMN
`flink_config`
text
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NULL
COMMENT
'环境ID'
AFTER
`note`
;
SET
FOREIGN_KEY_CHECKS
=
1
;
SET
FOREIGN_KEY_CHECKS
=
1
;
dlink-metadata/dlink-metadata-base/src/main/java/com/dlink/metadata/driver/AbstractDriver.java
View file @
aa3bc4b7
...
@@ -46,4 +46,5 @@ public abstract class AbstractDriver implements Driver {
...
@@ -46,4 +46,5 @@ public abstract class AbstractDriver implements Driver {
public
boolean
existTable
(
Table
table
){
public
boolean
existTable
(
Table
table
){
return
listTables
(
table
.
getSchema
()).
stream
().
anyMatch
(
tableItem
->
Asserts
.
isEquals
(
tableItem
.
getName
(),
table
.
getName
()));
return
listTables
(
table
.
getSchema
()).
stream
().
anyMatch
(
tableItem
->
Asserts
.
isEquals
(
tableItem
.
getName
(),
table
.
getName
()));
}
}
}
}
\ No newline at end of file
dlink-metadata/dlink-metadata-base/src/main/java/com/dlink/metadata/driver/AbstractJdbcDriver.java
View file @
aa3bc4b7
...
@@ -23,10 +23,7 @@ import java.sql.ResultSet;
...
@@ -23,10 +23,7 @@ import java.sql.ResultSet;
import
java.sql.ResultSetMetaData
;
import
java.sql.ResultSetMetaData
;
import
java.sql.SQLException
;
import
java.sql.SQLException
;
import
java.sql.Statement
;
import
java.sql.Statement
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.HashMap
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
/**
/**
* AbstractJdbcDriver
* AbstractJdbcDriver
...
@@ -362,6 +359,10 @@ public abstract class AbstractJdbcDriver extends AbstractDriver {
...
@@ -362,6 +359,10 @@ public abstract class AbstractJdbcDriver extends AbstractDriver {
}
finally
{
}
finally
{
return
sqlExplainResults
;
return
sqlExplainResults
;
}
}
}
@Override
public
Map
<
String
,
String
>
getFlinkColumnTypeConversion
(){
return
new
HashMap
<>();
}
}
}
}
dlink-metadata/dlink-metadata-base/src/main/java/com/dlink/metadata/driver/Driver.java
View file @
aa3bc4b7
...
@@ -12,6 +12,7 @@ import sun.misc.Service;
...
@@ -12,6 +12,7 @@ import sun.misc.Service;
import
java.sql.SQLException
;
import
java.sql.SQLException
;
import
java.util.Iterator
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
import
java.util.Optional
;
/**
/**
...
@@ -98,4 +99,5 @@ public interface Driver {
...
@@ -98,4 +99,5 @@ public interface Driver {
List
<
SqlExplainResult
>
explain
(
String
sql
);
List
<
SqlExplainResult
>
explain
(
String
sql
);
Map
<
String
,
String
>
getFlinkColumnTypeConversion
();
}
}
dlink-metadata/dlink-metadata-clickhouse/src/main/java/com/dlink/metadata/driver/ClickHouseDriver.java
View file @
aa3bc4b7
...
@@ -19,9 +19,7 @@ import com.dlink.result.SqlExplainResult;
...
@@ -19,9 +19,7 @@ import com.dlink.result.SqlExplainResult;
import
java.sql.PreparedStatement
;
import
java.sql.PreparedStatement
;
import
java.sql.ResultSet
;
import
java.sql.ResultSet
;
import
java.sql.SQLException
;
import
java.sql.SQLException
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.List
;
import
java.util.Locale
;
import
java.util.regex.Matcher
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
import
java.util.regex.Pattern
;
...
@@ -163,4 +161,9 @@ public class ClickHouseDriver extends AbstractJdbcDriver {
...
@@ -163,4 +161,9 @@ public class ClickHouseDriver extends AbstractJdbcDriver {
return
SqlExplainResult
.
success
(
sqlStatement
.
getClass
().
getSimpleName
(),
sqlStatement
.
toString
(),
null
);
return
SqlExplainResult
.
success
(
sqlStatement
.
getClass
().
getSimpleName
(),
sqlStatement
.
toString
(),
null
);
}
}
}
}
@Override
public
Map
<
String
,
String
>
getFlinkColumnTypeConversion
(){
return
new
HashMap
<>();
}
}
}
dlink-metadata/dlink-metadata-doris/src/main/java/com/dlink/metadata/driver/DorisDriver.java
View file @
aa3bc4b7
...
@@ -9,7 +9,9 @@ import com.dlink.model.Column;
...
@@ -9,7 +9,9 @@ import com.dlink.model.Column;
import
com.dlink.model.Table
;
import
com.dlink.model.Table
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
public
class
DorisDriver
extends
AbstractJdbcDriver
{
public
class
DorisDriver
extends
AbstractJdbcDriver
{
@Override
@Override
...
@@ -80,4 +82,9 @@ public class DorisDriver extends AbstractJdbcDriver{
...
@@ -80,4 +82,9 @@ public class DorisDriver extends AbstractJdbcDriver{
sb
.
append
(
"PROPERTIES('replication_num' = '1')"
);
sb
.
append
(
"PROPERTIES('replication_num' = '1')"
);
return
sb
.
toString
();
return
sb
.
toString
();
}
}
@Override
public
Map
<
String
,
String
>
getFlinkColumnTypeConversion
(){
return
new
HashMap
<>();
}
}
}
dlink-metadata/dlink-metadata-mysql/src/main/java/com/dlink/metadata/driver/MySqlDriver.java
View file @
aa3bc4b7
...
@@ -9,7 +9,9 @@ import com.dlink.model.Column;
...
@@ -9,7 +9,9 @@ import com.dlink.model.Column;
import
com.dlink.model.Table
;
import
com.dlink.model.Table
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* MysqlDriver
* MysqlDriver
...
@@ -83,4 +85,13 @@ public class MySqlDriver extends AbstractJdbcDriver {
...
@@ -83,4 +85,13 @@ public class MySqlDriver extends AbstractJdbcDriver {
return
sb
.
toString
();
return
sb
.
toString
();
}
}
@Override
public
Map
<
String
,
String
>
getFlinkColumnTypeConversion
(){
HashMap
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"varchar"
,
"STRING"
);
map
.
put
(
"text"
,
"STRING"
);
map
.
put
(
"int"
,
"INT"
);
map
.
put
(
"datetime"
,
"TIMESTAMP"
);
return
map
;
}
}
}
dlink-metadata/dlink-metadata-oracle/src/main/java/com/dlink/metadata/driver/OracleDriver.java
View file @
aa3bc4b7
...
@@ -8,7 +8,9 @@ import com.dlink.metadata.query.OracleQuery;
...
@@ -8,7 +8,9 @@ import com.dlink.metadata.query.OracleQuery;
import
com.dlink.model.Column
;
import
com.dlink.model.Column
;
import
com.dlink.model.Table
;
import
com.dlink.model.Table
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -78,4 +80,8 @@ public class OracleDriver extends AbstractJdbcDriver {
...
@@ -78,4 +80,8 @@ public class OracleDriver extends AbstractJdbcDriver {
return
sb
.
toString
();
return
sb
.
toString
();
}
}
@Override
public
Map
<
String
,
String
>
getFlinkColumnTypeConversion
(){
return
new
HashMap
<>();
}
}
}
dlink-metadata/dlink-metadata-postgresql/src/main/java/com/dlink/metadata/driver/PostgreSqlDriver.java
View file @
aa3bc4b7
...
@@ -6,6 +6,9 @@ import com.dlink.metadata.query.IDBQuery;
...
@@ -6,6 +6,9 @@ import com.dlink.metadata.query.IDBQuery;
import
com.dlink.metadata.query.PostgreSqlQuery
;
import
com.dlink.metadata.query.PostgreSqlQuery
;
import
com.dlink.model.Table
;
import
com.dlink.model.Table
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
/**
* PostgreSqlDriver
* PostgreSqlDriver
*
*
...
@@ -42,4 +45,9 @@ public class PostgreSqlDriver extends AbstractJdbcDriver {
...
@@ -42,4 +45,9 @@ public class PostgreSqlDriver extends AbstractJdbcDriver {
public
String
getCreateTableSql
(
Table
table
)
{
public
String
getCreateTableSql
(
Table
table
)
{
return
null
;
return
null
;
}
}
@Override
public
Map
<
String
,
String
>
getFlinkColumnTypeConversion
(){
return
new
HashMap
<>();
}
}
}
dlink-metadata/dlink-metadata-sqlserver/src/main/java/com/dlink/metadata/driver/SqlServerDriver.java
View file @
aa3bc4b7
...
@@ -8,7 +8,9 @@ import com.dlink.metadata.query.SqlServerQuery;
...
@@ -8,7 +8,9 @@ import com.dlink.metadata.query.SqlServerQuery;
import
com.dlink.model.Column
;
import
com.dlink.model.Column
;
import
com.dlink.model.Table
;
import
com.dlink.model.Table
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
*
*
...
@@ -85,4 +87,9 @@ public class SqlServerDriver extends AbstractJdbcDriver {
...
@@ -85,4 +87,9 @@ public class SqlServerDriver extends AbstractJdbcDriver {
}
}
return
sb
.
toString
();
return
sb
.
toString
();
}
}
@Override
public
Map
<
String
,
String
>
getFlinkColumnTypeConversion
(){
return
new
HashMap
<>();
}
}
}
dlink-web/src/components/Studio/StudioEvent/Utils.ts
View file @
aa3bc4b7
...
@@ -35,7 +35,7 @@ export function parseSqlMetaData(sql:string) {
...
@@ -35,7 +35,7 @@ export function parseSqlMetaData(sql:string) {
}
}
function
regMetaData
(
statement
:
string
){
function
regMetaData
(
statement
:
string
){
const
regTable
=
new
RegExp
(
/create
\s
+table
\s
+
(
\w
+
?)\s
*
\(
/
,
'ig'
);
const
regTable
=
new
RegExp
(
/create
\s
+table
\s
+
(
.
+
?)\s
*
\(
/
,
'ig'
);
let
table
=
RegStr
(
statement
,
regTable
);
let
table
=
RegStr
(
statement
,
regTable
);
const
regConnector
=
new
RegExp
(
/connector'
\s
*=
\s
*'
(\w
+
?)
'/
,
'ig'
);
const
regConnector
=
new
RegExp
(
/connector'
\s
*=
\s
*'
(\w
+
?)
'/
,
'ig'
);
let
connector
=
RegStr
(
statement
,
regConnector
);
let
connector
=
RegStr
(
statement
,
regConnector
);
...
...
dlink-web/src/pages/DataBase/components/ClickHouseForm.tsx
View file @
aa3bc4b7
...
@@ -31,6 +31,7 @@ const ClickHouseForm: React.FC<ClickHouseFormProps> = (props) => {
...
@@ -31,6 +31,7 @@ const ClickHouseForm: React.FC<ClickHouseFormProps> = (props) => {
username
:
props
.
values
.
username
,
username
:
props
.
values
.
username
,
password
:
props
.
values
.
password
,
password
:
props
.
values
.
password
,
dbVersion
:
props
.
values
.
dbVersion
,
dbVersion
:
props
.
values
.
dbVersion
,
flinkConfig
:
props
.
values
.
flinkConfig
,
note
:
props
.
values
.
note
,
note
:
props
.
values
.
note
,
enabled
:
props
.
values
.
enabled
,
enabled
:
props
.
values
.
enabled
,
});
});
...
@@ -106,6 +107,13 @@ const ClickHouseForm: React.FC<ClickHouseFormProps> = (props) => {
...
@@ -106,6 +107,13 @@ const ClickHouseForm: React.FC<ClickHouseFormProps> = (props) => {
>
>
<
Input
.
Password
/>
<
Input
.
Password
/>
</
Form
.
Item
>
</
Form
.
Item
>
<
Form
.
Item
name=
"flinkConfig"
label=
"Flink With 模板"
>
<
TextArea
placeholder=
"'connector' = 'jdbc',..."
allowClear
autoSize=
{
{
minRows
:
3
,
maxRows
:
10
}
}
/>
</
Form
.
Item
>
<
Form
.
Item
<
Form
.
Item
name=
"note"
name=
"note"
label=
"注释"
label=
"注释"
...
@@ -140,6 +148,7 @@ const ClickHouseForm: React.FC<ClickHouseFormProps> = (props) => {
...
@@ -140,6 +148,7 @@ const ClickHouseForm: React.FC<ClickHouseFormProps> = (props) => {
username
:
formVals
.
username
,
username
:
formVals
.
username
,
password
:
formVals
.
password
,
password
:
formVals
.
password
,
note
:
formVals
.
note
,
note
:
formVals
.
note
,
flinkConfig
:
formVals
.
flinkConfig
,
enabled
:
formVals
.
enabled
,
enabled
:
formVals
.
enabled
,
}
}
}
}
>
>
...
...
dlink-web/src/pages/DataBase/components/DorisForm.tsx
View file @
aa3bc4b7
...
@@ -31,6 +31,7 @@ const DorisForm: React.FC<DorisFormProps> = (props) => {
...
@@ -31,6 +31,7 @@ const DorisForm: React.FC<DorisFormProps> = (props) => {
username
:
props
.
values
.
username
,
username
:
props
.
values
.
username
,
password
:
props
.
values
.
password
,
password
:
props
.
values
.
password
,
dbVersion
:
props
.
values
.
dbVersion
,
dbVersion
:
props
.
values
.
dbVersion
,
flinkConfig
:
props
.
values
.
flinkConfig
,
note
:
props
.
values
.
note
,
note
:
props
.
values
.
note
,
enabled
:
props
.
values
.
enabled
,
enabled
:
props
.
values
.
enabled
,
});
});
...
@@ -106,6 +107,13 @@ const DorisForm: React.FC<DorisFormProps> = (props) => {
...
@@ -106,6 +107,13 @@ const DorisForm: React.FC<DorisFormProps> = (props) => {
>
>
<
Input
.
Password
/>
<
Input
.
Password
/>
</
Form
.
Item
>
</
Form
.
Item
>
<
Form
.
Item
name=
"flinkConfig"
label=
"Flink With 模板"
>
<
TextArea
placeholder=
"'connector' = 'doris',..."
allowClear
autoSize=
{
{
minRows
:
3
,
maxRows
:
10
}
}
/>
</
Form
.
Item
>
<
Form
.
Item
<
Form
.
Item
name=
"note"
name=
"note"
label=
"注释"
label=
"注释"
...
@@ -140,6 +148,7 @@ const DorisForm: React.FC<DorisFormProps> = (props) => {
...
@@ -140,6 +148,7 @@ const DorisForm: React.FC<DorisFormProps> = (props) => {
username
:
formVals
.
username
,
username
:
formVals
.
username
,
password
:
formVals
.
password
,
password
:
formVals
.
password
,
note
:
formVals
.
note
,
note
:
formVals
.
note
,
flinkConfig
:
formVals
.
flinkConfig
,
enabled
:
formVals
.
enabled
,
enabled
:
formVals
.
enabled
,
}
}
}
}
>
>
...
...
dlink-web/src/pages/DataBase/components/MySqlForm.tsx
View file @
aa3bc4b7
...
@@ -31,6 +31,7 @@ const MysqlForm: React.FC<MysqlFormProps> = (props) => {
...
@@ -31,6 +31,7 @@ const MysqlForm: React.FC<MysqlFormProps> = (props) => {
username
:
props
.
values
.
username
,
username
:
props
.
values
.
username
,
password
:
props
.
values
.
password
,
password
:
props
.
values
.
password
,
dbVersion
:
props
.
values
.
dbVersion
,
dbVersion
:
props
.
values
.
dbVersion
,
flinkConfig
:
props
.
values
.
flinkConfig
,
note
:
props
.
values
.
note
,
note
:
props
.
values
.
note
,
enabled
:
props
.
values
.
enabled
,
enabled
:
props
.
values
.
enabled
,
});
});
...
@@ -106,6 +107,13 @@ const MysqlForm: React.FC<MysqlFormProps> = (props) => {
...
@@ -106,6 +107,13 @@ const MysqlForm: React.FC<MysqlFormProps> = (props) => {
>
>
<
Input
.
Password
/>
<
Input
.
Password
/>
</
Form
.
Item
>
</
Form
.
Item
>
<
Form
.
Item
name=
"flinkConfig"
label=
"Flink With 模板"
>
<
TextArea
placeholder=
"'connector' = 'jdbc',..."
allowClear
autoSize=
{
{
minRows
:
3
,
maxRows
:
10
}
}
/>
</
Form
.
Item
>
<
Form
.
Item
<
Form
.
Item
name=
"note"
name=
"note"
label=
"注释"
label=
"注释"
...
@@ -140,6 +148,7 @@ const MysqlForm: React.FC<MysqlFormProps> = (props) => {
...
@@ -140,6 +148,7 @@ const MysqlForm: React.FC<MysqlFormProps> = (props) => {
username
:
formVals
.
username
,
username
:
formVals
.
username
,
password
:
formVals
.
password
,
password
:
formVals
.
password
,
note
:
formVals
.
note
,
note
:
formVals
.
note
,
flinkConfig
:
formVals
.
flinkConfig
,
enabled
:
formVals
.
enabled
,
enabled
:
formVals
.
enabled
,
}
}
}
}
>
>
...
...
dlink-web/src/pages/DataBase/components/OracleForm.tsx
View file @
aa3bc4b7
...
@@ -31,6 +31,7 @@ const OracleForm: React.FC<OracleFormProps> = (props) => {
...
@@ -31,6 +31,7 @@ const OracleForm: React.FC<OracleFormProps> = (props) => {
username
:
props
.
values
.
username
,
username
:
props
.
values
.
username
,
password
:
props
.
values
.
password
,
password
:
props
.
values
.
password
,
dbVersion
:
props
.
values
.
dbVersion
,
dbVersion
:
props
.
values
.
dbVersion
,
flinkConfig
:
props
.
values
.
flinkConfig
,
note
:
props
.
values
.
note
,
note
:
props
.
values
.
note
,
enabled
:
props
.
values
.
enabled
,
enabled
:
props
.
values
.
enabled
,
});
});
...
@@ -106,6 +107,13 @@ const OracleForm: React.FC<OracleFormProps> = (props) => {
...
@@ -106,6 +107,13 @@ const OracleForm: React.FC<OracleFormProps> = (props) => {
>
>
<
Input
.
Password
/>
<
Input
.
Password
/>
</
Form
.
Item
>
</
Form
.
Item
>
<
Form
.
Item
name=
"flinkConfig"
label=
"Flink With 模板"
>
<
TextArea
placeholder=
"'connector' = 'jdbc',..."
allowClear
autoSize=
{
{
minRows
:
3
,
maxRows
:
10
}
}
/>
</
Form
.
Item
>
<
Form
.
Item
<
Form
.
Item
name=
"note"
name=
"note"
label=
"注释"
label=
"注释"
...
@@ -140,6 +148,7 @@ const OracleForm: React.FC<OracleFormProps> = (props) => {
...
@@ -140,6 +148,7 @@ const OracleForm: React.FC<OracleFormProps> = (props) => {
username
:
formVals
.
username
,
username
:
formVals
.
username
,
password
:
formVals
.
password
,
password
:
formVals
.
password
,
note
:
formVals
.
note
,
note
:
formVals
.
note
,
flinkConfig
:
formVals
.
flinkConfig
,
enabled
:
formVals
.
enabled
,
enabled
:
formVals
.
enabled
,
}
}
}
}
>
>
...
...
dlink-web/src/pages/DataBase/components/SqlServerForm.tsx
View file @
aa3bc4b7
...
@@ -31,6 +31,7 @@ const SqlServerForm: React.FC<SqlServerFormProps> = (props) => {
...
@@ -31,6 +31,7 @@ const SqlServerForm: React.FC<SqlServerFormProps> = (props) => {
username
:
props
.
values
.
username
,
username
:
props
.
values
.
username
,
password
:
props
.
values
.
password
,
password
:
props
.
values
.
password
,
dbVersion
:
props
.
values
.
dbVersion
,
dbVersion
:
props
.
values
.
dbVersion
,
flinkConfig
:
props
.
values
.
flinkConfig
,
note
:
props
.
values
.
note
,
note
:
props
.
values
.
note
,
enabled
:
props
.
values
.
enabled
,
enabled
:
props
.
values
.
enabled
,
});
});
...
@@ -106,6 +107,13 @@ const SqlServerForm: React.FC<SqlServerFormProps> = (props) => {
...
@@ -106,6 +107,13 @@ const SqlServerForm: React.FC<SqlServerFormProps> = (props) => {
>
>
<
Input
.
Password
/>
<
Input
.
Password
/>
</
Form
.
Item
>
</
Form
.
Item
>
<
Form
.
Item
name=
"flinkConfig"
label=
"Flink With 模板"
>
<
TextArea
placeholder=
"'connector' = 'jdbc',..."
allowClear
autoSize=
{
{
minRows
:
3
,
maxRows
:
10
}
}
/>
</
Form
.
Item
>
<
Form
.
Item
<
Form
.
Item
name=
"note"
name=
"note"
label=
"注释"
label=
"注释"
...
@@ -140,6 +148,7 @@ const SqlServerForm: React.FC<SqlServerFormProps> = (props) => {
...
@@ -140,6 +148,7 @@ const SqlServerForm: React.FC<SqlServerFormProps> = (props) => {
username
:
formVals
.
username
,
username
:
formVals
.
username
,
password
:
formVals
.
password
,
password
:
formVals
.
password
,
note
:
formVals
.
note
,
note
:
formVals
.
note
,
flinkConfig
:
formVals
.
flinkConfig
,
enabled
:
formVals
.
enabled
,
enabled
:
formVals
.
enabled
,
}
}
}
}
>
>
...
...
dlink-web/src/pages/DataBase/data.d.ts
View file @
aa3bc4b7
...
@@ -8,6 +8,7 @@ export type DataBaseItem = {
...
@@ -8,6 +8,7 @@ export type DataBaseItem = {
username
:
string
,
username
:
string
,
password
:
string
,
password
:
string
,
note
:
string
,
note
:
string
,
flinkConfig
:
string
,
dbVersion
:
string
,
dbVersion
:
string
,
status
:
boolean
,
status
:
boolean
,
healthTime
:
Date
,
healthTime
:
Date
,
...
@@ -28,6 +29,7 @@ export type DataBaseFormProps = {
...
@@ -28,6 +29,7 @@ export type DataBaseFormProps = {
username
:
string
,
username
:
string
,
password
:
string
,
password
:
string
,
note
:
string
,
note
:
string
,
flinkConfig
:
string
,
dbVersion
:
string
,
dbVersion
:
string
,
enabled
:
boolean
,
enabled
:
boolean
,
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment