Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
liyuanzhong001
DolphinScheduler
提交
b27f2c5c
DolphinScheduler
项目概览
liyuanzhong001
/
DolphinScheduler
与 Fork 源项目一致
Fork自
apache / DolphinScheduler
通知
11
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
DolphinScheduler
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b27f2c5c
编写于
4月 25, 2019
作者:
L
ligang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update create and upgrade function
上级
62a21d9e
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
55 addition
and
11 deletion
+55
-11
escheduler-dao/src/main/java/cn/escheduler/dao/upgrade/EschedulerManager.java
...ain/java/cn/escheduler/dao/upgrade/EschedulerManager.java
+22
-8
escheduler-dao/src/main/java/cn/escheduler/dao/upgrade/UpgradeDao.java
...o/src/main/java/cn/escheduler/dao/upgrade/UpgradeDao.java
+32
-1
escheduler-dao/src/main/java/cn/escheduler/dao/upgrade/shell/CreateEscheduler.java
...ava/cn/escheduler/dao/upgrade/shell/CreateEscheduler.java
+0
-1
sql/upgrade/1.0.2_schema/mysql/escheduler_dml.sql
sql/upgrade/1.0.2_schema/mysql/escheduler_dml.sql
+1
-1
未找到文件。
escheduler-dao/src/main/java/cn/escheduler/dao/upgrade/EschedulerManager.java
浏览文件 @
b27f2c5c
...
...
@@ -30,12 +30,17 @@ public class EschedulerManager {
UpgradeDao
upgradeDao
=
UpgradeDao
.
getInstance
();
public
void
initEscheduler
()
{
// Determines whether the escheduler table structure has been init
if
(
upgradeDao
.
isExistsTable
(
"t_escheduler_version"
)
||
upgradeDao
.
isExistsTable
(
"t_escheduler_queue"
))
{
logger
.
info
(
"The database has been initialized. Skip the initialization step"
);
return
;
}
this
.
initEschedulerSchema
();
}
public
void
initEschedulerSchema
()
{
logger
.
info
(
"Start initializing the
ark
manager mysql table structure"
);
logger
.
info
(
"Start initializing the
escheduler
manager mysql table structure"
);
upgradeDao
.
initEschedulerSchema
();
}
...
...
@@ -52,15 +57,20 @@ public class EschedulerManager {
}
else
{
String
version
=
""
;
// The target version of the upgrade
String
schemaVersion
=
""
;
for
(
String
schemaDir
:
schemaList
)
{
// Gets the version of the current system
if
(
upgradeDao
.
isExistsTable
(
"t_escheduler_version"
))
{
version
=
upgradeDao
.
getCurrentVersion
();
}
else
{
}
else
if
(
upgradeDao
.
isExistsColumn
(
"t_escheduler_queue"
,
"create_time"
)){
version
=
"1.0.1"
;
}
else
if
(
upgradeDao
.
isExistsTable
(
"t_escheduler_queue"
)){
version
=
"1.0.0"
;
}
else
{
logger
.
error
(
"Unable to determine current software version, so cannot upgrade"
);
}
// The target version of the upgrade
String
schemaVersion
=
""
;
for
(
String
schemaDir
:
schemaList
)
{
schemaVersion
=
schemaDir
.
split
(
"_"
)[
0
];
if
(
SchemaUtils
.
isAGreatVersion
(
schemaVersion
,
version
))
{
...
...
@@ -70,7 +80,11 @@ public class EschedulerManager {
logger
.
info
(
"Begin upgrading escheduler's mysql table structure"
);
upgradeDao
.
upgradeEscheduler
(
schemaDir
);
if
(
SchemaUtils
.
isAGreatVersion
(
version
,
"1.0.1"
)){
version
=
upgradeDao
.
getCurrentVersion
();
}
else
{
version
=
schemaVersion
;
}
}
}
...
...
escheduler-dao/src/main/java/cn/escheduler/dao/upgrade/UpgradeDao.java
浏览文件 @
b27f2c5c
...
...
@@ -122,7 +122,11 @@ public class UpgradeDao extends AbstractBaseDao {
}
/**
* Determines whether a table exists
* @param tableName
* @return
*/
public
boolean
isExistsTable
(
String
tableName
)
{
Connection
conn
=
null
;
try
{
...
...
@@ -144,6 +148,33 @@ public class UpgradeDao extends AbstractBaseDao {
}
/**
* Determines whether a field exists in the specified table
* @param tableName
* @param columnName
* @return
*/
public
boolean
isExistsColumn
(
String
tableName
,
String
columnName
)
{
Connection
conn
=
null
;
try
{
conn
=
ConnectionFactory
.
getDataSource
().
getConnection
();
ResultSet
rs
=
conn
.
getMetaData
().
getColumns
(
null
,
null
,
tableName
,
columnName
);
if
(
rs
.
next
())
{
return
true
;
}
else
{
return
false
;
}
}
catch
(
SQLException
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
throw
new
RuntimeException
(
e
.
getMessage
(),
e
);
}
finally
{
MysqlUtil
.
realeaseResource
(
null
,
null
,
conn
);
}
}
public
String
getCurrentVersion
()
{
String
sql
=
String
.
format
(
"select version from %s"
,
T_VERSION_NAME
);
...
...
escheduler-dao/src/main/java/cn/escheduler/dao/upgrade/shell/CreateEscheduler.java
浏览文件 @
b27f2c5c
...
...
@@ -29,7 +29,6 @@ public class CreateEscheduler {
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
CreateEscheduler
.
class
);
public
static
void
main
(
String
[]
args
)
{
Thread
.
currentThread
().
setName
(
"manager-CreateEscheduler"
);
EschedulerManager
eschedulerManager
=
new
EschedulerManager
();
eschedulerManager
.
initEscheduler
();
logger
.
info
(
"init escheduler finished"
);
...
...
sql/upgrade/1.0.2_schema/mysql/escheduler_dml.sql
浏览文件 @
b27f2c5c
INSERT
INTO
`t_escheduler_version`
(
`version`
)
VALUES
(
'1.0.0'
);
\ No newline at end of file
INSERT
INTO
`t_escheduler_version`
(
`version`
)
VALUES
(
'1.0.2'
);
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录