feat(PostgreSQL): Get the DDL of the PostgreSQL sequence

This commit is contained in:
Sylphy
2025-04-11 09:52:11 +08:00
parent 92fdeb368d
commit d9779a4b2e
14 changed files with 289 additions and 8 deletions

View File

@ -168,7 +168,7 @@ public class RdbDdlController extends EmbeddingController {
*/
@GetMapping("/export")
public DataResult<String> export(@Valid DdlExportRequest request) {
ShowCreateTableParam param = rdbWebConverter.ddlExport2showCreate(request);
ShowCreateTableParam param = rdbWebConverter.ddlExport2showTableCreate(request);
return tableService.showCreateTable(param);
}

View File

@ -0,0 +1,42 @@
package ai.chat2db.server.web.api.controller.rdb;
import ai.chat2db.server.domain.api.param.ShowCreateSequenceParam;
import ai.chat2db.server.domain.api.service.DatabaseService;
import ai.chat2db.server.domain.api.service.SequenceService;
import ai.chat2db.server.tools.base.wrapper.result.DataResult;
import ai.chat2db.server.web.api.aspect.ConnectionInfoAspect;
import ai.chat2db.server.web.api.controller.rdb.converter.RdbWebConverter;
import ai.chat2db.server.web.api.controller.rdb.request.DdlExportRequest;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
/**
* sequence controller
*
* @author Sylphy
*/
@Slf4j
@RestController
@ConnectionInfoAspect
@RequiredArgsConstructor
@RequestMapping("/api/rdb/sequence")
public class SequenceController {
private final RdbWebConverter rdbWebConverter;
private final DatabaseService databaseService;
private final SequenceService sequenceService;
/**
* Export sequence creation statement
*
* @param request
* @return
*/
@GetMapping("/export")
public DataResult<String> export(@Valid DdlExportRequest request) {
ShowCreateSequenceParam param = rdbWebConverter.ddlExport2showSequenceCreate(request);
return sequenceService.showCreateSequence(param);
}
}

View File

@ -152,7 +152,7 @@ public class TableController extends EmbeddingController {
*/
@GetMapping("/export")
public DataResult<String> export(@Valid DdlExportRequest request) {
ShowCreateTableParam param = rdbWebConverter.ddlExport2showCreate(request);
ShowCreateTableParam param = rdbWebConverter.ddlExport2showTableCreate(request);
return tableService.showCreateTable(param);
}

View File

@ -129,7 +129,17 @@ public abstract class RdbWebConverter {
* @param request
* @return
*/
public abstract ShowCreateTableParam ddlExport2showCreate(DdlExportRequest request);
@Mapping(source = "name", target = "tableName")
public abstract ShowCreateTableParam ddlExport2showTableCreate(DdlExportRequest request);
/**
* Parameter conversion
*
* @param request
* @return
*/
@Mapping(source = "name", target = "sequenceName")
public abstract ShowCreateSequenceParam ddlExport2showSequenceCreate(DdlExportRequest request);
/**
* Parameter conversion

View File

@ -15,9 +15,9 @@ import lombok.Data;
public class DdlExportRequest extends DataSourceBaseRequest {
/**
* Table Name
* Name
*/
@NotNull
private String tableName;
private String name;
}