solon-ai-load-ddl
此插件,由社区成员(刘颜)贡献
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon-ai-load-ddl</artifactId>
</dependency>
1、描述
solon-ai 的主要扩展插件,提供 DdlLoader 加载器(获取数据表的 DDL)。可为 text2sql 应用提供帮助。更多可参考 《教程 / Solon AI 开发》
2、代码应用
//for mysql
DdlLoadConfig ddlLoadConfig0 = new DdlLoadConfig.Builder()
.shcemaTableQuerySql("select TABLE_SCHEMA, TABLE_NAME from information_schema.TABLES where TABLE_SCHEMA not in ('mysql', 'sys', 'information_schema')")
.shcemaTableQueryAndSchemaSqlTemplate("and TABLE_SCHEMA = '#{tableSchema}'")
.shcemaTableQueryAndTableSqlTemplate("and TABLE_SCHEMA = '#{tableSchema}' and TABLE_NAME = '#{tableName}'")
.shcemaTableQueryResultSchemeNameColumn("TABLE_SCHEMA")
.shcemaTableQueryResultTableNameColumn("TABLE_NAME")
.ddlQuerySqlTemplate("SHOW CREATE TABLE `#{tableSchema}`.`#{tableName}`")
.ddlQueryResultDdlNameColumn("Create Table")
.fullDdlCreateTableSqlPrefix("CREATE TABLE")
.fullDdlCreateTableSqlNeedSchema(true)
.fullDdlCreateTableSqlDot(".")
.fullDdlCreateTableSqlLeftDelimitedIdentifier("`")
.fullDdlCreateTableSqlRightDelimitedIdentifier("`")
.fullDdlCreateTableSqlTruncationSymbol("(")
.build();
DdlLoader loader = new DdlLoader(ds, ddlLoadConfig);
//单库全表
loader.options(opt -> opt.loadOptions("zt", null));
List<Document> docs = loader.load();
//单库单表
loader.options(opt -> opt.loadOptions("zt", "location"));
List<Document> docs = loader.load();
//插入到知识库
repository.insert(loader.load());