mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2025-09-28 09:33:15 +08:00
Support for custom drivers
This commit is contained in:
@ -1,8 +1,7 @@
|
||||
package ai.chat2db.server.test.common;
|
||||
|
||||
import ai.chat2db.server.domain.support.enums.DbTypeEnum;
|
||||
import ai.chat2db.server.domain.support.sql.DbhubContext;
|
||||
import ai.chat2db.server.domain.support.sql.ConnectInfo;
|
||||
import ai.chat2db.spi.sql.Chat2DBContext;
|
||||
import ai.chat2db.spi.sql.ConnectInfo;
|
||||
import ai.chat2db.server.start.Application;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -20,7 +19,7 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||
@TestMethodOrder(value = MethodOrderer.OrderAnnotation.class)
|
||||
public abstract class BaseTest {
|
||||
|
||||
public void putConnect(String url, String username, String password, DbTypeEnum dbType, String database,
|
||||
public void putConnect(String url, String username, String password, String dbType, String database,
|
||||
Long dataSourceId, Long consoleId) {
|
||||
ConnectInfo connectInfo = new ConnectInfo();
|
||||
connectInfo.setUser(username);
|
||||
@ -31,10 +30,10 @@ public abstract class BaseTest {
|
||||
connectInfo.setUrl(url);
|
||||
connectInfo.setDatabase(database);
|
||||
connectInfo.setConsoleOwn(false);
|
||||
DbhubContext.putContext(connectInfo);
|
||||
Chat2DBContext.putContext(connectInfo);
|
||||
}
|
||||
|
||||
public void removeConnect() {
|
||||
DbhubContext.removeContext();
|
||||
Chat2DBContext.removeContext();
|
||||
}
|
||||
}
|
||||
|
@ -8,7 +8,6 @@ import ai.chat2db.server.domain.api.param.ConsoleConnectParam;
|
||||
import ai.chat2db.server.domain.api.param.DataSourcePreConnectParam;
|
||||
import ai.chat2db.server.domain.api.service.ConsoleService;
|
||||
import ai.chat2db.server.domain.api.service.DataSourceService;
|
||||
import ai.chat2db.server.domain.support.enums.DbTypeEnum;
|
||||
import ai.chat2db.server.domain.api.param.ConsoleCloseParam;
|
||||
import ai.chat2db.server.test.common.BaseTest;
|
||||
import ai.chat2db.server.test.domain.data.service.dialect.DialectProperties;
|
||||
@ -37,13 +36,13 @@ public class ConsoleOperationsTest extends BaseTest {
|
||||
@Order(1)
|
||||
public void createAndClose() {
|
||||
for (DialectProperties dialectProperties : dialectPropertiesList) {
|
||||
DbTypeEnum dbTypeEnum = dialectProperties.getDbType();
|
||||
String dbTypeEnum = dialectProperties.getDbType();
|
||||
Long dataSourceId = TestUtils.nextLong();
|
||||
Long consoleId = TestUtils.nextLong();
|
||||
TestUtils.buildContext(dialectProperties, dataSourceId, consoleId);
|
||||
|
||||
DataSourcePreConnectParam dataSourceCreateParam = new DataSourcePreConnectParam();
|
||||
dataSourceCreateParam.setType(dbTypeEnum.getCode());
|
||||
dataSourceCreateParam.setType(dbTypeEnum);
|
||||
dataSourceCreateParam.setUrl(dialectProperties.getUrl());
|
||||
dataSourceCreateParam.setUser(dialectProperties.getUsername());
|
||||
dataSourceCreateParam.setPassword(dialectProperties.getPassword());
|
||||
@ -69,13 +68,13 @@ public class ConsoleOperationsTest extends BaseTest {
|
||||
@Order(2)
|
||||
public void createAfterDataSourceClose() {
|
||||
for (DialectProperties dialectProperties : dialectPropertiesList) {
|
||||
DbTypeEnum dbTypeEnum = dialectProperties.getDbType();
|
||||
String dbTypeEnum = dialectProperties.getDbType();
|
||||
Long dataSourceId = TestUtils.nextLong();
|
||||
Long consoleId = TestUtils.nextLong();
|
||||
TestUtils.buildContext(dialectProperties, dataSourceId, consoleId);
|
||||
|
||||
DataSourcePreConnectParam dataSourceCreateParam = new DataSourcePreConnectParam();
|
||||
dataSourceCreateParam.setType(dbTypeEnum.getCode());
|
||||
dataSourceCreateParam.setType(dbTypeEnum);
|
||||
dataSourceCreateParam.setUrl(dialectProperties.getUrl());
|
||||
dataSourceCreateParam.setUser(dialectProperties.getUsername());
|
||||
dataSourceCreateParam.setPassword(dialectProperties.getPassword());
|
||||
@ -91,13 +90,13 @@ public class ConsoleOperationsTest extends BaseTest {
|
||||
@Order(3)
|
||||
public void closeDataSourceAfterCreateConsole() {
|
||||
for (DialectProperties dialectProperties : dialectPropertiesList) {
|
||||
DbTypeEnum dbTypeEnum = dialectProperties.getDbType();
|
||||
String dbTypeEnum = dialectProperties.getDbType();
|
||||
Long dataSourceId = TestUtils.nextLong();
|
||||
Long consoleId = TestUtils.nextLong();
|
||||
TestUtils.buildContext(dialectProperties, dataSourceId, consoleId);
|
||||
|
||||
DataSourcePreConnectParam dataSourceCreateParam = new DataSourcePreConnectParam();
|
||||
dataSourceCreateParam.setType(dbTypeEnum.getCode());
|
||||
dataSourceCreateParam.setType(dbTypeEnum);
|
||||
dataSourceCreateParam.setUrl(dialectProperties.getUrl());
|
||||
dataSourceCreateParam.setUser(dialectProperties.getUsername());
|
||||
dataSourceCreateParam.setPassword(dialectProperties.getPassword());
|
||||
|
@ -2,13 +2,12 @@ package ai.chat2db.server.test.domain.data.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import ai.chat2db.spi.model.Database;
|
||||
import jakarta.annotation.Resource;
|
||||
|
||||
import ai.chat2db.server.domain.api.param.DataSourcePreConnectParam;
|
||||
import ai.chat2db.server.domain.api.service.DataSourceService;
|
||||
import ai.chat2db.server.domain.api.service.DatabaseService;
|
||||
import ai.chat2db.server.domain.support.enums.DbTypeEnum;
|
||||
import ai.chat2db.server.domain.support.model.Database;
|
||||
import ai.chat2db.server.domain.api.param.DatabaseQueryAllParam;
|
||||
import ai.chat2db.server.test.common.BaseTest;
|
||||
import ai.chat2db.server.test.domain.data.service.dialect.DialectProperties;
|
||||
@ -40,7 +39,7 @@ public class DatabaseOperationsTest extends BaseTest {
|
||||
@Order(1)
|
||||
public void queryAll() {
|
||||
for (DialectProperties dialectProperties : dialectPropertiesList) {
|
||||
DbTypeEnum dbTypeEnum = dialectProperties.getDbType();
|
||||
String dbTypeEnum = dialectProperties.getDbType();
|
||||
Long dataSourceId = TestUtils.nextLong();
|
||||
|
||||
// 准备上下文
|
||||
@ -49,7 +48,7 @@ public class DatabaseOperationsTest extends BaseTest {
|
||||
|
||||
DataSourcePreConnectParam dataSourceCreateParam = new DataSourcePreConnectParam();
|
||||
|
||||
dataSourceCreateParam.setType(dbTypeEnum.getCode());
|
||||
dataSourceCreateParam.setType(dbTypeEnum);
|
||||
dataSourceCreateParam.setUrl(dialectProperties.getUrl());
|
||||
dataSourceCreateParam.setUser(dialectProperties.getUsername());
|
||||
dataSourceCreateParam.setPassword(dialectProperties.getPassword());
|
||||
|
@ -32,10 +32,10 @@ public class ExampleOperationsTest extends BaseTest {
|
||||
@Order(1)
|
||||
public void example() {
|
||||
for (DialectProperties dialectProperties : dialectPropertiesList) {
|
||||
DataResult<String> createTable = tableService.createTableExample(dialectProperties.getDbType().getCode());
|
||||
DataResult<String> createTable = tableService.createTableExample(dialectProperties.getDbType());
|
||||
log.info("返回建表语句:{}", createTable);
|
||||
Assertions.assertNotNull(createTable, "查询样例失败");
|
||||
DataResult<String> alterTable = tableService.alterTableExample(dialectProperties.getDbType().getCode());
|
||||
DataResult<String> alterTable = tableService.alterTableExample(dialectProperties.getDbType());
|
||||
log.info("返回建修改表语句:{}", alterTable);
|
||||
Assertions.assertNotNull(alterTable, "查询样例失败");
|
||||
}
|
||||
|
@ -3,6 +3,8 @@ package ai.chat2db.server.test.domain.data.service;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import ai.chat2db.spi.model.ExecuteResult;
|
||||
import ai.chat2db.spi.model.Header;
|
||||
import jakarta.annotation.Resource;
|
||||
|
||||
import ai.chat2db.server.domain.api.param.ConsoleConnectParam;
|
||||
@ -11,9 +13,6 @@ import ai.chat2db.server.domain.api.param.DlExecuteParam;
|
||||
import ai.chat2db.server.domain.api.service.ConsoleService;
|
||||
import ai.chat2db.server.domain.api.service.DataSourceService;
|
||||
import ai.chat2db.server.domain.api.service.DlTemplateService;
|
||||
import ai.chat2db.server.domain.support.enums.DbTypeEnum;
|
||||
import ai.chat2db.server.domain.support.model.ExecuteResult;
|
||||
import ai.chat2db.server.domain.support.model.Header;
|
||||
import ai.chat2db.server.test.common.BaseTest;
|
||||
import ai.chat2db.server.test.domain.data.service.dialect.DialectProperties;
|
||||
import ai.chat2db.server.test.domain.data.utils.TestUtils;
|
||||
@ -58,7 +57,7 @@ public class JdbcOperationsTest extends BaseTest {
|
||||
@Order(1)
|
||||
public void execute() {
|
||||
for (DialectProperties dialectProperties : dialectPropertiesList) {
|
||||
DbTypeEnum dbTypeEnum = dialectProperties.getDbType();
|
||||
String dbTypeEnum = dialectProperties.getDbType();
|
||||
Long dataSourceId = TestUtils.nextLong();
|
||||
Long consoleId = TestUtils.nextLong();
|
||||
|
||||
@ -67,7 +66,7 @@ public class JdbcOperationsTest extends BaseTest {
|
||||
dialectProperties.getDbType(), dialectProperties.getDatabaseName(), dataSourceId, consoleId);
|
||||
|
||||
DataSourcePreConnectParam dataSourceCreateParam = new DataSourcePreConnectParam();
|
||||
dataSourceCreateParam.setType(dbTypeEnum.getCode());
|
||||
dataSourceCreateParam.setType(dbTypeEnum);
|
||||
dataSourceCreateParam.setUrl(dialectProperties.getUrl());
|
||||
dataSourceCreateParam.setUser(dialectProperties.getUsername());
|
||||
dataSourceCreateParam.setPassword(dialectProperties.getPassword());
|
||||
@ -136,12 +135,12 @@ public class JdbcOperationsTest extends BaseTest {
|
||||
public void dropTable() {
|
||||
for (DialectProperties dialectProperties : dialectPropertiesList) {
|
||||
try {
|
||||
DbTypeEnum dbTypeEnum = dialectProperties.getDbType();
|
||||
String dbTypeEnum = dialectProperties.getDbType();
|
||||
Long dataSourceId = TestUtils.nextLong();
|
||||
Long consoleId = TestUtils.nextLong();
|
||||
|
||||
DataSourcePreConnectParam dataSourceCreateParam = new DataSourcePreConnectParam();
|
||||
dataSourceCreateParam.setType(dbTypeEnum.getCode());
|
||||
dataSourceCreateParam.setType(dbTypeEnum);
|
||||
dataSourceCreateParam.setUrl(dialectProperties.getUrl());
|
||||
dataSourceCreateParam.setUser(dialectProperties.getUsername());
|
||||
dataSourceCreateParam.setPassword(dialectProperties.getPassword());
|
||||
|
@ -1,26 +1,23 @@
|
||||
package ai.chat2db.server.test.domain.data.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import jakarta.annotation.Resource;
|
||||
|
||||
import ai.chat2db.server.domain.api.param.DataSourceCreateParam;
|
||||
import ai.chat2db.server.domain.api.param.DataSourcePreConnectParam;
|
||||
import ai.chat2db.server.domain.api.service.DataSourceService;
|
||||
import ai.chat2db.server.domain.support.enums.DbTypeEnum;
|
||||
import ai.chat2db.server.test.common.BaseTest;
|
||||
import ai.chat2db.server.test.domain.data.service.dialect.DialectProperties;
|
||||
import ai.chat2db.server.test.domain.data.utils.TestUtils;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.DataResult;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Order;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 数据源测试
|
||||
*
|
||||
@ -37,13 +34,13 @@ public class SQLExecutorOperationsTest extends BaseTest {
|
||||
@Order(1)
|
||||
public void createAndClose() {
|
||||
for (DialectProperties dialectProperties : dialectPropertiesList) {
|
||||
DbTypeEnum dbTypeEnum = dialectProperties.getDbType();
|
||||
String dbTypeEnum = dialectProperties.getDbType();
|
||||
Long dataSourceId = TestUtils.nextLong();
|
||||
TestUtils.buildContext(dialectProperties, dataSourceId, null);
|
||||
// 创建
|
||||
DataSourcePreConnectParam dataSourceCreateParam = new DataSourcePreConnectParam();
|
||||
|
||||
dataSourceCreateParam.setType(dbTypeEnum.getCode());
|
||||
dataSourceCreateParam.setType(dbTypeEnum);
|
||||
dataSourceCreateParam.setUrl(dialectProperties.getUrl());
|
||||
dataSourceCreateParam.setUser(dialectProperties.getUsername());
|
||||
dataSourceCreateParam.setPassword(dialectProperties.getPassword());
|
||||
@ -61,12 +58,12 @@ public class SQLExecutorOperationsTest extends BaseTest {
|
||||
@Order(2)
|
||||
public void test() {
|
||||
for (DialectProperties dialectProperties : dialectPropertiesList) {
|
||||
DbTypeEnum dbTypeEnum = dialectProperties.getDbType();
|
||||
String dbTypeEnum = dialectProperties.getDbType();
|
||||
|
||||
// 创建
|
||||
DataSourcePreConnectParam dataSourceCreateParam = new DataSourcePreConnectParam();
|
||||
|
||||
dataSourceCreateParam.setType(dbTypeEnum.getCode());
|
||||
dataSourceCreateParam.setType(dbTypeEnum);
|
||||
dataSourceCreateParam.setUrl(dialectProperties.getErrorUrl());
|
||||
dataSourceCreateParam.setUser(dialectProperties.getUsername());
|
||||
dataSourceCreateParam.setPassword(dialectProperties.getPassword());
|
||||
@ -79,16 +76,16 @@ public class SQLExecutorOperationsTest extends BaseTest {
|
||||
@Order(3)
|
||||
public void createDataSource(){
|
||||
for (DialectProperties dialectProperties : dialectPropertiesList) {
|
||||
if(!dialectProperties.getDbType().equals(DbTypeEnum.CLICKHOUSE)){
|
||||
if(!dialectProperties.getDbType().equals("CLICKHOUSE")){
|
||||
continue;
|
||||
}
|
||||
DbTypeEnum dbTypeEnum = dialectProperties.getDbType();
|
||||
String dbTypeEnum = dialectProperties.getDbType();
|
||||
Long dataSourceId = TestUtils.nextLong();
|
||||
TestUtils.buildContext(dialectProperties, dataSourceId, null);
|
||||
// 创建
|
||||
DataSourceCreateParam dataSourceCreateParam = new DataSourceCreateParam();
|
||||
dataSourceCreateParam.setAlias(dialectProperties.getDbType()+"_unittest_"+dialectProperties.getDbType());
|
||||
dataSourceCreateParam.setType(dbTypeEnum.getCode());
|
||||
dataSourceCreateParam.setType(dbTypeEnum);
|
||||
dataSourceCreateParam.setUrl(dialectProperties.getUrl());
|
||||
dataSourceCreateParam.setUserName(dialectProperties.getUsername());
|
||||
dataSourceCreateParam.setPassword(dialectProperties.getPassword());
|
||||
|
@ -13,14 +13,8 @@ import ai.chat2db.server.domain.api.service.ConsoleService;
|
||||
import ai.chat2db.server.domain.api.service.DataSourceService;
|
||||
import ai.chat2db.server.domain.api.service.DlTemplateService;
|
||||
import ai.chat2db.server.domain.api.service.TableService;
|
||||
import ai.chat2db.server.domain.support.enums.CollationEnum;
|
||||
import ai.chat2db.server.domain.support.enums.DbTypeEnum;
|
||||
import ai.chat2db.server.domain.support.enums.IndexTypeEnum;
|
||||
import ai.chat2db.server.domain.support.model.Sql;
|
||||
import ai.chat2db.server.domain.support.model.Table;
|
||||
import ai.chat2db.server.domain.support.model.TableColumn;
|
||||
import ai.chat2db.server.domain.support.model.TableIndex;
|
||||
import ai.chat2db.server.domain.support.model.TableIndexColumn;
|
||||
import ai.chat2db.spi.enums.*;
|
||||
import ai.chat2db.spi.model.*;
|
||||
import ai.chat2db.server.domain.api.param.DropParam;
|
||||
import ai.chat2db.server.domain.api.param.ShowCreateTableParam;
|
||||
import ai.chat2db.server.domain.api.param.TablePageQueryParam;
|
||||
@ -70,7 +64,7 @@ public class TableOperationsTest extends BaseTest {
|
||||
@Order(1)
|
||||
public void table() {
|
||||
for (DialectProperties dialectProperties : dialectPropertiesList) {
|
||||
DbTypeEnum dbTypeEnum = dialectProperties.getDbType();
|
||||
String dbTypeEnum = dialectProperties.getDbType();
|
||||
Long dataSourceId = TestUtils.nextLong();
|
||||
Long consoleId = TestUtils.nextLong();
|
||||
|
||||
@ -80,7 +74,7 @@ public class TableOperationsTest extends BaseTest {
|
||||
|
||||
DataSourcePreConnectParam dataSourceCreateParam = new DataSourcePreConnectParam();
|
||||
|
||||
dataSourceCreateParam.setType(dbTypeEnum.getCode());
|
||||
dataSourceCreateParam.setType(dbTypeEnum);
|
||||
dataSourceCreateParam.setUrl(dialectProperties.getUrl());
|
||||
dataSourceCreateParam.setUser(dialectProperties.getUsername());
|
||||
dataSourceCreateParam.setPassword(dialectProperties.getPassword());
|
||||
@ -106,13 +100,13 @@ public class TableOperationsTest extends BaseTest {
|
||||
.databaseName(dialectProperties.getDatabaseName())
|
||||
.tableName(dialectProperties.toCase(TABLE_NAME))
|
||||
.build();
|
||||
if (dialectProperties.getDbType() == DbTypeEnum.POSTGRESQL) {
|
||||
if (dialectProperties.getDbType() == "POSTGRESQL") {
|
||||
showCreateTableParam.setSchemaName("public");
|
||||
}
|
||||
|
||||
DataResult<String> createTable = tableService.showCreateTable(showCreateTableParam);
|
||||
log.info("建表语句:{}", createTable.getData());
|
||||
if (dialectProperties.getDbType() != DbTypeEnum.H2) {
|
||||
if (dialectProperties.getDbType() != "H2") {
|
||||
Assertions.assertTrue(createTable.getData().contains(dialectProperties.toCase(TABLE_NAME)),
|
||||
"查询表结构失败");
|
||||
}
|
||||
@ -122,7 +116,7 @@ public class TableOperationsTest extends BaseTest {
|
||||
tablePageQueryParam.setDataSourceId(dataSourceId);
|
||||
tablePageQueryParam.setDatabaseName(dialectProperties.getDatabaseName());
|
||||
tablePageQueryParam.setTableName(dialectProperties.toCase(TABLE_NAME));
|
||||
if (dialectProperties.getDbType() == DbTypeEnum.POSTGRESQL) {
|
||||
if (dialectProperties.getDbType() == "POSTGRESQL") {
|
||||
tablePageQueryParam.setSchemaName("public");
|
||||
}
|
||||
List<Table> tableList = tableService.pageQuery(tablePageQueryParam, TableSelector.builder()
|
||||
@ -133,14 +127,14 @@ public class TableOperationsTest extends BaseTest {
|
||||
Assertions.assertNotEquals(0L, tableList.size(), "查询表结构失败");
|
||||
Table table = tableList.get(0);
|
||||
// Assertions.assertEquals(dialectProperties.toCase(TABLE_NAME), table.getName(), "查询表结构失败");
|
||||
if (dialectProperties.getDbType() != DbTypeEnum.POSTGRESQL) {
|
||||
if (dialectProperties.getDbType() != "POSTGRESQL") {
|
||||
Assertions.assertEquals("测试表", table.getComment(), "查询表结构失败");
|
||||
}
|
||||
TableQueryParam tableQueryParam = new TableQueryParam();
|
||||
tableQueryParam.setTableName(table.getName());
|
||||
tableQueryParam.setDataSourceId(dataSourceId);
|
||||
tableQueryParam.setDatabaseName(dialectProperties.getDatabaseName());
|
||||
if (dialectProperties.getDbType() == DbTypeEnum.POSTGRESQL) {
|
||||
if (dialectProperties.getDbType() == "POSTGRESQL") {
|
||||
tableQueryParam.setSchemaName("public");
|
||||
}
|
||||
List<TableColumn> columnList = tableService.queryColumns(tableQueryParam);
|
||||
@ -156,7 +150,7 @@ public class TableOperationsTest extends BaseTest {
|
||||
Assertions.assertTrue(string.getNullable(), "查询表结构失败");
|
||||
Assertions.assertEquals("DATA", TestUtils.unWrapperDefaultValue(string.getDefaultValue()),
|
||||
"查询表结构失败");
|
||||
if (dialectProperties.getDbType() == DbTypeEnum.POSTGRESQL) {
|
||||
if (dialectProperties.getDbType() == "POSTGRESQL") {
|
||||
tablePageQueryParam.setSchemaName("public");
|
||||
}
|
||||
List<TableIndex> tableIndexList = tableService.queryIndexes(tableQueryParam);
|
||||
@ -208,7 +202,7 @@ public class TableOperationsTest extends BaseTest {
|
||||
}
|
||||
|
||||
private void testBuildSql(DialectProperties dialectProperties, Long dataSourceId, Long consoleId) {
|
||||
if (dialectProperties.getDbType() != DbTypeEnum.MYSQL) {
|
||||
if (dialectProperties.getDbType() != "MYSQL") {
|
||||
log.error("目前测试案例只支持mysql");
|
||||
return;
|
||||
}
|
||||
@ -469,12 +463,12 @@ public class TableOperationsTest extends BaseTest {
|
||||
public void dropTable() {
|
||||
for (DialectProperties dialectProperties : dialectPropertiesList) {
|
||||
try {
|
||||
DbTypeEnum dbTypeEnum = dialectProperties.getDbType();
|
||||
String dbTypeEnum = dialectProperties.getDbType();
|
||||
Long dataSourceId = TestUtils.nextLong();
|
||||
Long consoleId = TestUtils.nextLong();
|
||||
|
||||
DataSourcePreConnectParam dataSourceCreateParam = new DataSourcePreConnectParam();
|
||||
dataSourceCreateParam.setType(dbTypeEnum.getCode());
|
||||
dataSourceCreateParam.setType(dbTypeEnum);
|
||||
dataSourceCreateParam.setUrl(dialectProperties.getUrl());
|
||||
dataSourceCreateParam.setUser(dialectProperties.getUsername());
|
||||
dataSourceCreateParam.setPassword(dialectProperties.getPassword());
|
||||
|
@ -2,7 +2,6 @@ package ai.chat2db.server.test.domain.data.service.dialect;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import ai.chat2db.server.domain.support.enums.DbTypeEnum;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@ -11,8 +10,8 @@ import java.util.Date;
|
||||
public class ClickHouseDialectProperties implements DialectProperties {
|
||||
|
||||
@Override
|
||||
public DbTypeEnum getDbType() {
|
||||
return DbTypeEnum.CLICKHOUSE;
|
||||
public String getDbType() {
|
||||
return "CLICKHOUSE";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -2,7 +2,6 @@ package ai.chat2db.server.test.domain.data.service.dialect;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import ai.chat2db.server.domain.support.enums.DbTypeEnum;
|
||||
|
||||
|
||||
/**
|
||||
@ -17,7 +16,7 @@ public interface DialectProperties {
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
DbTypeEnum getDbType();
|
||||
String getDbType();
|
||||
|
||||
/**
|
||||
* 连接
|
||||
|
@ -2,7 +2,6 @@ package ai.chat2db.server.test.domain.data.service.dialect;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import ai.chat2db.server.domain.support.enums.DbTypeEnum;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
@ -18,8 +17,8 @@ import org.springframework.stereotype.Component;
|
||||
public class H2DialectProperties implements DialectProperties {
|
||||
|
||||
@Override
|
||||
public DbTypeEnum getDbType() {
|
||||
return DbTypeEnum.H2;
|
||||
public String getDbType() {
|
||||
return "H2";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -2,7 +2,6 @@ package ai.chat2db.server.test.domain.data.service.dialect;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import ai.chat2db.server.domain.support.enums.DbTypeEnum;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
@ -18,8 +17,8 @@ import org.springframework.stereotype.Component;
|
||||
public class MysqlDialectProperties implements DialectProperties {
|
||||
|
||||
@Override
|
||||
public DbTypeEnum getDbType() {
|
||||
return DbTypeEnum.MYSQL;
|
||||
public String getDbType() {
|
||||
return "MYSQL";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -2,7 +2,6 @@ package ai.chat2db.server.test.domain.data.service.dialect;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import ai.chat2db.server.domain.support.enums.DbTypeEnum;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@ -11,8 +10,8 @@ import java.util.Date;
|
||||
public class OracleDialectProperties implements DialectProperties {
|
||||
|
||||
@Override
|
||||
public DbTypeEnum getDbType() {
|
||||
return DbTypeEnum.ORACLE;
|
||||
public String getDbType() {
|
||||
return "ORACLE";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -6,7 +6,6 @@ package ai.chat2db.server.test.domain.data.service.dialect;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import ai.chat2db.server.domain.support.enums.DbTypeEnum;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
@ -21,8 +20,8 @@ import org.springframework.stereotype.Component;
|
||||
public class PostgresqlDialectProperties implements DialectProperties {
|
||||
|
||||
@Override
|
||||
public DbTypeEnum getDbType() {
|
||||
return DbTypeEnum.POSTGRESQL;
|
||||
public String getDbType() {
|
||||
return "POSTGRESQL";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -4,15 +4,13 @@
|
||||
*/
|
||||
package ai.chat2db.server.test.domain.data.service.dialect;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import ai.chat2db.server.domain.support.enums.DbTypeEnum;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author jipengfei
|
||||
* @version : SQLITEDialectProperties.java
|
||||
@ -20,8 +18,8 @@ import org.springframework.stereotype.Component;
|
||||
@Component
|
||||
public class SQLITEDialectProperties implements DialectProperties{
|
||||
@Override
|
||||
public DbTypeEnum getDbType() {
|
||||
return DbTypeEnum.SQLITE;
|
||||
public String getDbType() {
|
||||
return "SQLITE";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -4,15 +4,13 @@
|
||||
*/
|
||||
package ai.chat2db.server.test.domain.data.service.dialect;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import ai.chat2db.server.domain.support.enums.DbTypeEnum;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author jipengfei
|
||||
* @version : SQLServerDialectProperties.java
|
||||
@ -20,8 +18,8 @@ import org.springframework.stereotype.Component;
|
||||
@Component
|
||||
public class SQLServerDialectProperties implements DialectProperties{
|
||||
@Override
|
||||
public DbTypeEnum getDbType() {
|
||||
return DbTypeEnum.SQLSERVER;
|
||||
public String getDbType() {
|
||||
return "SQLSERVER";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -2,10 +2,9 @@ package ai.chat2db.server.test.domain.data.utils;
|
||||
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
|
||||
import ai.chat2db.server.domain.support.enums.DbTypeEnum;
|
||||
import ai.chat2db.server.domain.support.sql.DbhubContext;
|
||||
import ai.chat2db.server.domain.support.sql.ConnectInfo;
|
||||
import ai.chat2db.server.test.domain.data.service.dialect.DialectProperties;
|
||||
import ai.chat2db.spi.sql.Chat2DBContext;
|
||||
import ai.chat2db.spi.sql.ConnectInfo;
|
||||
|
||||
/**
|
||||
* 测试工具类
|
||||
@ -58,10 +57,10 @@ public class TestUtils {
|
||||
connectInfo.setUrl(dialectProperties.getUrl());
|
||||
connectInfo.setDatabase(dialectProperties.getDatabaseName());
|
||||
connectInfo.setConsoleOwn(false);
|
||||
DbhubContext.putContext(connectInfo);
|
||||
Chat2DBContext.putContext(connectInfo);
|
||||
}
|
||||
|
||||
public static void remove(){
|
||||
DbhubContext.removeContext();
|
||||
Chat2DBContext.removeContext();
|
||||
}
|
||||
}
|
||||
|
@ -3,6 +3,8 @@ package ai.chat2db.server.test.temp;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import ai.chat2db.spi.model.ExecuteResult;
|
||||
import ai.chat2db.spi.model.Sql;
|
||||
import jakarta.annotation.Resource;
|
||||
|
||||
import ai.chat2db.server.domain.api.param.ConsoleConnectParam;
|
||||
@ -12,9 +14,6 @@ import ai.chat2db.server.domain.api.service.ConsoleService;
|
||||
import ai.chat2db.server.domain.api.service.DataSourceService;
|
||||
import ai.chat2db.server.domain.api.service.DlTemplateService;
|
||||
import ai.chat2db.server.domain.api.service.TableService;
|
||||
import ai.chat2db.server.domain.support.enums.DbTypeEnum;
|
||||
import ai.chat2db.server.domain.support.model.ExecuteResult;
|
||||
import ai.chat2db.server.domain.support.model.Sql;
|
||||
import ai.chat2db.server.domain.api.param.SqlAnalyseParam;
|
||||
import ai.chat2db.server.test.common.BaseTest;
|
||||
import ai.chat2db.server.test.domain.data.service.dialect.MysqlDialectProperties;
|
||||
@ -45,13 +44,13 @@ public class SqlTeset extends BaseTest {
|
||||
// 创建
|
||||
DataSourcePreConnectParam dataSourceCreateParam = new DataSourcePreConnectParam();
|
||||
|
||||
dataSourceCreateParam.setType(DbTypeEnum.MYSQL.getCode());
|
||||
dataSourceCreateParam.setType("MYSQL");
|
||||
dataSourceCreateParam.setUrl(mysqlDialectProperties.getUrl());
|
||||
dataSourceCreateParam.setUser(mysqlDialectProperties.getUsername());
|
||||
dataSourceCreateParam.setPassword(mysqlDialectProperties.getPassword());
|
||||
ActionResult actionResult = dataSourceService.preConnect(dataSourceCreateParam);
|
||||
|
||||
DataResult<String> createTable = tableService.createTableExample(DbTypeEnum.MYSQL.getCode());
|
||||
DataResult<String> createTable = tableService.createTableExample("MYSQL");
|
||||
log.info("sql1:{}", createTable.getData());
|
||||
SqlAnalyseParam sqlAnalyseParam = new SqlAnalyseParam();
|
||||
sqlAnalyseParam.setDataSourceId(1L);
|
||||
|
Reference in New Issue
Block a user