Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
adaptation-master
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
912协同工作系统
项目监控管理工具
adaptation-master
Commits
01e2c251
提交
01e2c251
authored
1月 03, 2020
作者:
zhangshuang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
zs
上级
131d9445
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
62 行增加
和
19 行删除
+62
-19
pom.xml
pom.xml
+5
-0
DBNameReturn.java
...zjty/adaptationmaster/adaptor/entity/db/DBNameReturn.java
+1
-1
DBMigrateServiceImpl.java
...tionmaster/adaptor/service/Impl/DBMigrateServiceImpl.java
+16
-7
Const.java
...main/java/com/zjty/adaptationmaster/base/enums/Const.java
+2
-1
ApusicDeployer.java
.../java/com/zjty/adaptationmaster/utils/ApusicDeployer.java
+2
-1
Regular.java
src/main/java/com/zjty/adaptationmaster/utils/Regular.java
+36
-9
没有找到文件。
pom.xml
浏览文件 @
01e2c251
...
...
@@ -152,6 +152,11 @@
<version>
RELEASE
</version>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
org.apache.commons
</groupId>
<artifactId>
commons-lang3
</artifactId>
<version>
3.5
</version>
</dependency>
</dependencies>
<build>
...
...
src/main/java/com/zjty/adaptationmaster/adaptor/entity/db/DBNameReturn.java
浏览文件 @
01e2c251
...
...
@@ -11,5 +11,5 @@ import java.util.List;
@Data
public
class
DBNameReturn
{
List
<
String
>
dbName
;
Integer
status
;
//连接状态1-
连接0-未连接
Integer
status
;
//连接状态1-
开启 0-关闭
}
src/main/java/com/zjty/adaptationmaster/adaptor/service/Impl/DBMigrateServiceImpl.java
浏览文件 @
01e2c251
...
...
@@ -157,8 +157,12 @@ public class DBMigrateServiceImpl implements DBMigrateService {
createTableSql
+=
create
;
}
}
preparedStatement1
=
connection1
.
prepareStatement
(
createTableSql
);
preparedStatement1
.
execute
();
try
{
preparedStatement1
=
connection1
.
prepareStatement
(
createTableSql
);
preparedStatement1
.
execute
();
}
catch
(
Exception
e
){
return
ServerResponse
.
error
(
"创建表出错"
);
}
//数据插入
if
(
insertList
!=
null
&&
insertList
.
size
()
!=
0
){
for
(
String
insert:
insertList
){
...
...
@@ -193,8 +197,12 @@ public class DBMigrateServiceImpl implements DBMigrateService {
elseSql
+=
elseChar
;
}
}
preparedStatement1
=
connection1
.
prepareStatement
(
elseSql
);
preparedStatement1
.
execute
();
try
{
preparedStatement1
=
connection1
.
prepareStatement
(
elseSql
);
preparedStatement1
.
execute
();
}
catch
(
Exception
e
){
return
ServerResponse
.
error
(
"执行新建索引和外键的sql语句出错"
);
}
System
.
out
.
println
(
"sql执行时间为:"
+
(
System
.
currentTimeMillis
()
-
b
));
log
.
info
(
databaseResponse
.
getSqlPath
()
+
"执行完成"
);
}
catch
(
Exception
e
)
{
...
...
@@ -211,7 +219,7 @@ public class DBMigrateServiceImpl implements DBMigrateService {
}
}
}
else
{
return
ServerResponse
.
error
(
"创建数据库时连接数据库失败"
);
return
ServerResponse
.
error
(
"创建数据库时连接
根
数据库失败"
);
}
}
//保存迁移记录到数据库
...
...
@@ -254,9 +262,10 @@ public class DBMigrateServiceImpl implements DBMigrateService {
databaseManagement
.
setDatabaseName
(
highgoDBName
);
databaseManagement
.
setDriver
(
highgoDriver
);
databaseManagement
.
setConnectionType
(
highgoConnnectionType
);
//获取数据库连接
Connection
connection
=
Regular
.
databaseConnection
(
databaseManagement
);
if
(
connection
!=
null
)
{
dbNameReturn
.
setStatus
(
1
);
dbNameReturn
.
setStatus
(
1
);
//1-库为开启状态
PreparedStatement
preparedStatement
=
null
;
try
{
String
findDB
=
"select p.datname from pg_database p where p.datistemplate = false;"
;
...
...
@@ -277,7 +286,7 @@ public class DBMigrateServiceImpl implements DBMigrateService {
}
}
}
else
{
dbNameReturn
.
setStatus
(
0
);
//
未连接
dbNameReturn
.
setStatus
(
0
);
//
关闭
}
}
dbNameReturn
.
setDbName
(
dbNameList
);
...
...
src/main/java/com/zjty/adaptationmaster/base/enums/Const.java
浏览文件 @
01e2c251
...
...
@@ -41,6 +41,7 @@ public class Const {
public
static
Map
<
String
,
Long
>
transferCountMap
=
new
ConcurrentHashMap
<>();
public
static
final
String
MAVENHOME
=
"/opt/apache-maven-3.5.4"
;
public
static
final
String
CTLPATH
=
"/home/taiyuan/桌面/AAS-V9.0/bin/appctl"
;
//public static final String CTLPATH = "/home/taiyuan/桌面/AAS-V9.0/bin/appctl";
public
static
final
String
CTLPATH
=
"/home/user/AAS-V9.0/bin/appctl.cmd"
;
public
static
final
String
CTLPWD
=
"Qwert123!@#"
;
}
src/main/java/com/zjty/adaptationmaster/utils/ApusicDeployer.java
浏览文件 @
01e2c251
...
...
@@ -41,7 +41,7 @@ public class ApusicDeployer {
boolean
titleEnd
=
false
;
String
line
=
null
;
while
((
line
=
reader
.
readLine
())
!=
null
)
{
System
.
out
.
println
(
line
);
//
System.out.println(line);
if
(
line
.
contains
(
"---------------"
)){
titleEnd
=
true
;
continue
;
...
...
@@ -74,6 +74,7 @@ public class ApusicDeployer {
}
private
void
appctl
(
String
command
,
String
webSocketName
,
String
projectName
){
try
{
System
.
out
.
println
(
command
);
Process
exec
=
Runtime
.
getRuntime
().
exec
(
command
);
String
password
=
Const
.
CTLPWD
;
OutputStream
outputStream
=
exec
.
getOutputStream
();
...
...
src/main/java/com/zjty/adaptationmaster/utils/Regular.java
浏览文件 @
01e2c251
...
...
@@ -7,10 +7,22 @@ import java.sql.Connection;
import
java.sql.DriverManager
;
import
java.sql.SQLException
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
org.apache.commons.lang3.StringUtils
;
public
class
Regular
{
private
static
HashMap
<
String
,
String
>
insertRule
=
new
HashMap
<>();
private
static
String
[]
insertKeys
;
private
static
String
[]
insertValues
;
private
static
HashMap
<
String
,
String
>
elseRule
=
new
HashMap
<>();
/**
* 将mysql导出的.sql文件转为highgo可以识别的.sql文件
* @param path sql文件地址
...
...
@@ -43,17 +55,12 @@ public class Regular {
String
createTableSql
=
""
;
boolean
createLock
=
true
;
boolean
executeOne
=
true
;
setInsertRuleMap
();
//insert的替换规则
while
((
s
=
bufferedReader
.
readLine
())
!=
null
){
s
=
s
.
replaceAll
(
"`"
,
"\""
);
s
+=
"\r\n"
;
if
(
lowerAndUpper
(
s
,
"INSERT"
)
&&
lowerAndUpper
(
s
,
"INTO"
)){
//将\0与\1替换为true或false
s
=
s
.
replace
(
"'\\0'"
,
"'false'"
);
s
=
s
.
replace
(
"'\\1'"
,
"'true'"
);
s
=
s
.
replaceAll
(
"'0000-00-00 00:00:00'"
,
"null"
);
s
=
s
.
replace
(
"\\\\"
,
"\\"
);
//转义\
s
=
s
.
replace
(
"\\\""
,
"\""
);
//转义"
s
=
s
.
replace
(
"\\'"
,
"''"
);
//转义'
s
=
StringUtils
.
replaceEach
(
s
,
insertKeys
,
insertValues
);
bufferedWriter
.
write
(
s
);
continue
;
}
...
...
@@ -212,6 +219,27 @@ public class Regular {
return
savePath
;
}
/**
* insert的替换规则
*/
public
static
void
setInsertRuleMap
(){
//将\0与\1替换为true或false
insertRule
.
put
(
"'\\0'"
,
"'false'"
);
insertRule
.
put
(
"'\\1'"
,
"'true'"
);
insertRule
.
put
(
"'0000-00-00 00:00:00'"
,
"null"
);
insertRule
.
put
(
"\\\\"
,
"\\"
);
insertRule
.
put
(
"\\\""
,
"\""
);
insertRule
.
put
(
"\\'"
,
"''"
);
int
i
=
0
;
insertKeys
=
new
String
[
insertRule
.
size
()];
insertValues
=
new
String
[
insertRule
.
size
()];
for
(
Map
.
Entry
<
String
,
String
>
stringMap:
insertRule
.
entrySet
()){
insertKeys
[
i
]
=
stringMap
.
getKey
();
insertValues
[
i
]
=
stringMap
.
getValue
();
i
++;
}
}
/**
* 判断大写和小写
*/
...
...
@@ -287,8 +315,7 @@ public class Regular {
return
null
;
}
public
static
void
main
(
String
[]
args
)
{
mySqlRegular
(
"C:\\Users\\admin\\Desktop\\database\\t
hree.sql"
,
"three
"
);
mySqlRegular
(
"C:\\Users\\admin\\Desktop\\database\\t
est10.sql"
,
"bserver
"
);
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论