Solon v3.4.0

solon-ai-load-ddl

</> markdown

此插件,由社区成员(刘颜)贡献

<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());