支持mongodb

This commit is contained in:
inrgihc
2023-08-21 23:19:01 +08:00
parent ae1d28f896
commit 3ee96f87c6
42 changed files with 634 additions and 33 deletions

View File

@@ -5,7 +5,7 @@
<parent>
<groupId>com.gitee.dbswitch</groupId>
<artifactId>dbswitch-parent</artifactId>
<version>1.8.1</version>
<version>1.8.2</version>
</parent>
<artifactId>dbswitch-data</artifactId>

View File

@@ -235,7 +235,16 @@ public class MigrationHandler implements Supplier<Long> {
TableOperateProvider targetOperator = targetFactoryProvider.createTableOperateProvider();
TableDataSynchronizer targetSynchronizer = targetFactoryProvider.createTableDataSynchronizer();
if (properties.getTarget().getTargetDrop() || targetProductType.isLikeHive()) {
if (targetProductType.isMongodb()) {
try {
targetFactoryProvider.createTableOperateProvider()
.dropTable(targetSchemaName, targetTableName);
log.info("Target Table {}.{} is exits, drop it now !", targetSchemaName, targetTableName);
} catch (Exception e) {
log.info("Target Table {}.{} is not exits, create it!", targetSchemaName, targetTableName);
}
return doFullCoverSynchronize(targetWriter, targetOperator, sourceQuerier);
} else if (properties.getTarget().getTargetDrop() || targetProductType.isLikeHive()) {
/*
如果配置了dbswitch.target.datasource-target-drop=true时
<p>

View File

@@ -63,6 +63,8 @@ public final class DataSourceUtils {
parameters.put("remarksReporting", "true");
} else if (properties.getDriverClassName().contains("db2")) {
ds.setConnectionTestQuery("SELECT 1 FROM SYSIBM.SYSDUMMY1");
} else if (properties.getDriverClassName().contains("mongodb")) {
ds.setConnectionTestQuery("use admin;");
} else {
ds.setConnectionTestQuery("SELECT 1");
}
@@ -103,6 +105,8 @@ public final class DataSourceUtils {
ds.setConnectionTestQuery("SELECT 'Hello' from DUAL");
} else if (properties.getDriverClassName().contains("db2")) {
ds.setConnectionTestQuery("SELECT 1 FROM SYSIBM.SYSDUMMY1");
} else if (properties.getDriverClassName().contains("mongodb")) {
ds.setConnectionTestQuery("use admin;");
} else {
ds.setConnectionTestQuery("SELECT 1");
}