diff --git a/kernel-d-ds-container/ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/DataSourceApi.java b/kernel-d-ds-container/ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/DataSourceApi.java index 62b059cff..f20c4752a 100644 --- a/kernel-d-ds-container/ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/DataSourceApi.java +++ b/kernel-d-ds-container/ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/DataSourceApi.java @@ -32,4 +32,13 @@ public interface DataSourceApi { */ void add(DatabaseInfoRequest databaseInfoRequest); + /** + * 通过数据源编码删除数据源 + * + * @param datasourceCode 数据源编码 + * @author fengshuonan + * @date 2021/5/27 10:06 + */ + void deleteByDatasourceCode(String datasourceCode); + } diff --git a/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/service/impl/DatabaseInfoServiceImpl.java b/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/service/impl/DatabaseInfoServiceImpl.java index cc6015ec3..4294316e6 100644 --- a/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/service/impl/DatabaseInfoServiceImpl.java +++ b/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/service/impl/DatabaseInfoServiceImpl.java @@ -84,6 +84,21 @@ public class DatabaseInfoServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(DatabaseInfo::getDbName, datasourceCode); + DatabaseInfo databaseInfo = this.getOne(wrapper, false); + + // 删除数据源信息 + this.removeById(databaseInfo.getDbId()); + + // 删除容器中的数据源记录 + DataSourceContext.removeDataSource(datasourceCode); + } + @Override @Transactional(rollbackFor = Exception.class) public void del(DatabaseInfoRequest databaseInfoRequest) {