mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2025-08-02 13:34:07 +08:00
Support for creating database and schema
This commit is contained in:
@ -6,7 +6,7 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
|
||||
import ai.chat2db.server.domain.api.param.datasource.DatabaseOperationParam;
|
||||
import ai.chat2db.server.domain.api.param.datasource.DatabaseCreateParam;
|
||||
import ai.chat2db.server.domain.api.param.datasource.DatabaseQueryAllParam;
|
||||
import ai.chat2db.server.domain.api.param.MetaDataQueryParam;
|
||||
import ai.chat2db.server.domain.api.param.SchemaOperationParam;
|
||||
@ -17,9 +17,11 @@ import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.DataResult;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.ListResult;
|
||||
import ai.chat2db.spi.MetaData;
|
||||
import ai.chat2db.spi.SqlBuilder;
|
||||
import ai.chat2db.spi.model.Database;
|
||||
import ai.chat2db.spi.model.MetaSchema;
|
||||
import ai.chat2db.spi.model.Schema;
|
||||
import ai.chat2db.spi.model.Sql;
|
||||
import ai.chat2db.spi.sql.Chat2DBContext;
|
||||
import cn.hutool.core.thread.ThreadUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -69,12 +71,12 @@ public class DatabaseServiceImpl implements DatabaseService {
|
||||
|
||||
private List<Schema> getSchemaList(String databaseName, Connection connection) {
|
||||
MetaData metaData = Chat2DBContext.getMetaData();
|
||||
List<Schema> schemas = metaData.schemas(connection,databaseName);
|
||||
sortSchema(schemas,connection);
|
||||
List<Schema> schemas = metaData.schemas(connection, databaseName);
|
||||
sortSchema(schemas, connection);
|
||||
return schemas;
|
||||
}
|
||||
|
||||
private void sortSchema(List<Schema> schemas,Connection connection) {
|
||||
private void sortSchema(List<Schema> schemas, Connection connection) {
|
||||
if (CollectionUtils.isEmpty(schemas)) {
|
||||
return;
|
||||
}
|
||||
@ -135,21 +137,21 @@ public class DatabaseServiceImpl implements DatabaseService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResult deleteDatabase(DatabaseOperationParam param) {
|
||||
Chat2DBContext.getDBManage().dropDatabase(Chat2DBContext.getConnection(), param.getDatabaseName());
|
||||
public ActionResult deleteDatabase(DatabaseCreateParam param) {
|
||||
Chat2DBContext.getDBManage().dropDatabase(Chat2DBContext.getConnection(), param.getName());
|
||||
return ActionResult.isSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResult createDatabase(DatabaseOperationParam param) {
|
||||
Chat2DBContext.getDBManage().createDatabase(Chat2DBContext.getConnection(), param.getDatabaseName());
|
||||
return ActionResult.isSuccess();
|
||||
public DataResult<Sql> createDatabase(Database database) {
|
||||
String sql = Chat2DBContext.getSqlBuilder().buildCreateDatabaseSql(database);
|
||||
return DataResult.of(Sql.builder().sql(sql).build());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResult modifyDatabase(DatabaseOperationParam param) {
|
||||
Chat2DBContext.getDBManage().modifyDatabase(Chat2DBContext.getConnection(), param.getDatabaseName(),
|
||||
param.getNewDatabaseName());
|
||||
public ActionResult modifyDatabase(DatabaseCreateParam param) {
|
||||
Chat2DBContext.getDBManage().modifyDatabase(Chat2DBContext.getConnection(), param.getName(),
|
||||
param.getName());
|
||||
return ActionResult.isSuccess();
|
||||
}
|
||||
|
||||
@ -161,10 +163,9 @@ public class DatabaseServiceImpl implements DatabaseService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResult createSchema(SchemaOperationParam param) {
|
||||
Chat2DBContext.getDBManage().createSchema(Chat2DBContext.getConnection(), param.getDatabaseName(),
|
||||
param.getSchemaName());
|
||||
return ActionResult.isSuccess();
|
||||
public DataResult<Sql> createSchema(Schema schema) {
|
||||
String sql = Chat2DBContext.getSqlBuilder().buildCreateSchemaSql(schema);
|
||||
return DataResult.of(Sql.builder().sql(sql).build());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user