diff --git a/chat2db-client/src/blocks/DatabaseTableEditor/ColumnList/index.tsx b/chat2db-client/src/blocks/DatabaseTableEditor/ColumnList/index.tsx index b46633a4..ad6b6718 100644 --- a/chat2db-client/src/blocks/DatabaseTableEditor/ColumnList/index.tsx +++ b/chat2db-client/src/blocks/DatabaseTableEditor/ColumnList/index.tsx @@ -503,18 +503,7 @@ const ColumnList = forwardRef((props: IProps, ref: ForwardedRef) )} {editingConfig?.supportDefaultValue && ( - + )} {editingConfig?.supportCharset && ( diff --git a/chat2db-client/src/blocks/DatabaseTableEditor/index.tsx b/chat2db-client/src/blocks/DatabaseTableEditor/index.tsx index 8da03ecf..4638b394 100644 --- a/chat2db-client/src/blocks/DatabaseTableEditor/index.tsx +++ b/chat2db-client/src/blocks/DatabaseTableEditor/index.tsx @@ -54,6 +54,7 @@ export interface IDatabaseSupportField { charsets: IOption[]; collations: IOption[]; indexTypes: IOption[]; + defaultValues: IOption[]; } export default memo((props: IProps) => { @@ -93,6 +94,7 @@ export default memo((props: IProps) => { charsets: [], collations: [], indexTypes: [], + defaultValues: [], }); const [isLoading, setIsLoading] = useState(false); @@ -148,11 +150,20 @@ export default memo((props: IProps) => { }; }) || []; + const defaultValues = + res?.defaultValues?.map((i) => { + return { + value: i.defaultValue, + label: i.defaultValue, + }; + }) || []; + setDatabaseSupportField({ columnTypes, charsets, collations, indexTypes, + defaultValues, }); }); } diff --git a/chat2db-client/src/typings/database.ts b/chat2db-client/src/typings/database.ts index b1760429..a99ff117 100644 --- a/chat2db-client/src/typings/database.ts +++ b/chat2db-client/src/typings/database.ts @@ -51,6 +51,7 @@ export interface IDatabaseSupportField { charsets: ICharset[]; collations: ICollation[]; indexTypes: IIndexTypes[]; + defaultValues: IDefaultValue[]; } /** 字段所对应的 字符集*/ @@ -84,3 +85,8 @@ export interface IColumnTypes { supportValue: boolean; // 是否支持值 supportUnit: boolean; // 是否支持单位 } + +/** 不同数据库支持不同的默认值 */ +export interface IDefaultValue { + defaultValue: string; // 默认值 +} diff --git a/chat2db-server/chat2db-plugins/chat2db-db2/src/main/java/ai/chat2db/plugin/db2/DB2MetaData.java b/chat2db-server/chat2db-plugins/chat2db-db2/src/main/java/ai/chat2db/plugin/db2/DB2MetaData.java index f4770908..90a0e2fa 100644 --- a/chat2db-server/chat2db-plugins/chat2db-db2/src/main/java/ai/chat2db/plugin/db2/DB2MetaData.java +++ b/chat2db-server/chat2db-plugins/chat2db-db2/src/main/java/ai/chat2db/plugin/db2/DB2MetaData.java @@ -8,6 +8,7 @@ import java.util.stream.Collectors; import ai.chat2db.plugin.db2.builder.DB2SqlBuilder; import ai.chat2db.plugin.db2.type.DB2ColumnTypeEnum; +import ai.chat2db.plugin.db2.type.DB2DefaultValueEnum; import ai.chat2db.plugin.db2.type.DB2IndexTypeEnum; import ai.chat2db.spi.MetaData; import ai.chat2db.spi.SqlBuilder; @@ -152,6 +153,7 @@ public class DB2MetaData extends DefaultMetaService implements MetaData { .charsets(Lists.newArrayList()) .collations(Lists.newArrayList()) .indexTypes(DB2IndexTypeEnum.getIndexTypes()) + .defaultValues(DB2DefaultValueEnum.getDefaultValues()) .build(); } diff --git a/chat2db-server/chat2db-plugins/chat2db-db2/src/main/java/ai/chat2db/plugin/db2/type/DB2DefaultValueEnum.java b/chat2db-server/chat2db-plugins/chat2db-db2/src/main/java/ai/chat2db/plugin/db2/type/DB2DefaultValueEnum.java new file mode 100644 index 00000000..01af0c14 --- /dev/null +++ b/chat2db-server/chat2db-plugins/chat2db-db2/src/main/java/ai/chat2db/plugin/db2/type/DB2DefaultValueEnum.java @@ -0,0 +1,27 @@ +package ai.chat2db.plugin.db2.type; + +import ai.chat2db.spi.model.DefaultValue; + +import java.util.Arrays; +import java.util.List; + +public enum DB2DefaultValueEnum { + EMPTY_STRING("EMPTY_STRING"), + NULL("NULL"), + ; + private DefaultValue defaultValue; + + DB2DefaultValueEnum(String defaultValue) { + this.defaultValue = new DefaultValue(defaultValue); + } + + + public DefaultValue getDefaultValue() { + return defaultValue; + } + + public static List getDefaultValues() { + return Arrays.stream(DB2DefaultValueEnum.values()).map(DB2DefaultValueEnum::getDefaultValue).collect(java.util.stream.Collectors.toList()); + } + +} diff --git a/chat2db-server/chat2db-plugins/chat2db-dm/src/main/java/ai/chat2db/plugin/dm/DMMetaData.java b/chat2db-server/chat2db-plugins/chat2db-dm/src/main/java/ai/chat2db/plugin/dm/DMMetaData.java index d5b750a0..a5d2ed0b 100644 --- a/chat2db-server/chat2db-plugins/chat2db-dm/src/main/java/ai/chat2db/plugin/dm/DMMetaData.java +++ b/chat2db-server/chat2db-plugins/chat2db-dm/src/main/java/ai/chat2db/plugin/dm/DMMetaData.java @@ -8,6 +8,7 @@ import java.util.stream.Collectors; import ai.chat2db.plugin.dm.builder.DMSqlBuilder; import ai.chat2db.plugin.dm.type.DMColumnTypeEnum; +import ai.chat2db.plugin.dm.type.DMDefaultValueEnum; import ai.chat2db.plugin.dm.type.DMIndexTypeEnum; import ai.chat2db.spi.MetaData; import ai.chat2db.spi.SqlBuilder; @@ -218,6 +219,7 @@ public class DMMetaData extends DefaultMetaService implements MetaData { .charsets(Lists.newArrayList()) .collations(Lists.newArrayList()) .indexTypes(DMIndexTypeEnum.getIndexTypes()) + .defaultValues(DMDefaultValueEnum.getDefaultValues()) .build(); } diff --git a/chat2db-server/chat2db-plugins/chat2db-dm/src/main/java/ai/chat2db/plugin/dm/type/DMDefaultValueEnum.java b/chat2db-server/chat2db-plugins/chat2db-dm/src/main/java/ai/chat2db/plugin/dm/type/DMDefaultValueEnum.java new file mode 100644 index 00000000..f85773a8 --- /dev/null +++ b/chat2db-server/chat2db-plugins/chat2db-dm/src/main/java/ai/chat2db/plugin/dm/type/DMDefaultValueEnum.java @@ -0,0 +1,27 @@ +package ai.chat2db.plugin.dm.type; + +import ai.chat2db.spi.model.DefaultValue; + +import java.util.Arrays; +import java.util.List; + +public enum DMDefaultValueEnum { + EMPTY_STRING("EMPTY_STRING"), + NULL("NULL"), + ; + private DefaultValue defaultValue; + + DMDefaultValueEnum(String defaultValue) { + this.defaultValue = new DefaultValue(defaultValue); + } + + + public DefaultValue getDefaultValue() { + return defaultValue; + } + + public static List getDefaultValues() { + return Arrays.stream(DMDefaultValueEnum.values()).map(DMDefaultValueEnum::getDefaultValue).collect(java.util.stream.Collectors.toList()); + } + +} diff --git a/chat2db-server/chat2db-plugins/chat2db-kingbase/src/main/java/ai/chat2db/plugin/kingbase/KingBaseMetaData.java b/chat2db-server/chat2db-plugins/chat2db-kingbase/src/main/java/ai/chat2db/plugin/kingbase/KingBaseMetaData.java index d23e549c..fbb51219 100644 --- a/chat2db-server/chat2db-plugins/chat2db-kingbase/src/main/java/ai/chat2db/plugin/kingbase/KingBaseMetaData.java +++ b/chat2db-server/chat2db-plugins/chat2db-kingbase/src/main/java/ai/chat2db/plugin/kingbase/KingBaseMetaData.java @@ -2,6 +2,7 @@ package ai.chat2db.plugin.kingbase; import ai.chat2db.plugin.kingbase.builder.KingBaseSqlBuilder; import ai.chat2db.plugin.kingbase.type.KingBaseColumnTypeEnum; +import ai.chat2db.plugin.kingbase.type.KingBaseDefaultValueEnum; import ai.chat2db.plugin.kingbase.type.KingBaseIndexTypeEnum; import ai.chat2db.spi.MetaData; import ai.chat2db.spi.SqlBuilder; @@ -196,6 +197,7 @@ public class KingBaseMetaData extends DefaultMetaService implements MetaData { //.charsets(PostgreSQLCharsetEnum.getCharsets()) //.collations(PostgreSQLCollationEnum.getCollations()) .indexTypes(KingBaseIndexTypeEnum.getIndexTypes()) + .defaultValues(KingBaseDefaultValueEnum.getDefaultValues()) .build(); } @Override diff --git a/chat2db-server/chat2db-plugins/chat2db-kingbase/src/main/java/ai/chat2db/plugin/kingbase/type/KingBaseDefaultValueEnum.java b/chat2db-server/chat2db-plugins/chat2db-kingbase/src/main/java/ai/chat2db/plugin/kingbase/type/KingBaseDefaultValueEnum.java new file mode 100644 index 00000000..cb6c5884 --- /dev/null +++ b/chat2db-server/chat2db-plugins/chat2db-kingbase/src/main/java/ai/chat2db/plugin/kingbase/type/KingBaseDefaultValueEnum.java @@ -0,0 +1,27 @@ +package ai.chat2db.plugin.kingbase.type; + +import ai.chat2db.spi.model.DefaultValue; + +import java.util.Arrays; +import java.util.List; + +public enum KingBaseDefaultValueEnum { + EMPTY_STRING("EMPTY_STRING"), + NULL("NULL"), + ; + private DefaultValue defaultValue; + + KingBaseDefaultValueEnum(String defaultValue) { + this.defaultValue = new DefaultValue(defaultValue); + } + + + public DefaultValue getDefaultValue() { + return defaultValue; + } + + public static List getDefaultValues() { + return Arrays.stream(KingBaseDefaultValueEnum.values()).map(KingBaseDefaultValueEnum::getDefaultValue).collect(java.util.stream.Collectors.toList()); + } + +} diff --git a/chat2db-server/chat2db-plugins/chat2db-mysql/src/main/java/ai/chat2db/plugin/mysql/MysqlMetaData.java b/chat2db-server/chat2db-plugins/chat2db-mysql/src/main/java/ai/chat2db/plugin/mysql/MysqlMetaData.java index 96489b6d..40a29195 100644 --- a/chat2db-server/chat2db-plugins/chat2db-mysql/src/main/java/ai/chat2db/plugin/mysql/MysqlMetaData.java +++ b/chat2db-server/chat2db-plugins/chat2db-mysql/src/main/java/ai/chat2db/plugin/mysql/MysqlMetaData.java @@ -8,10 +8,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import ai.chat2db.plugin.mysql.builder.MysqlSqlBuilder; -import ai.chat2db.plugin.mysql.type.MysqlCharsetEnum; -import ai.chat2db.plugin.mysql.type.MysqlCollationEnum; -import ai.chat2db.plugin.mysql.type.MysqlColumnTypeEnum; -import ai.chat2db.plugin.mysql.type.MysqlIndexTypeEnum; +import ai.chat2db.plugin.mysql.type.*; import ai.chat2db.spi.MetaData; import ai.chat2db.spi.SqlBuilder; import ai.chat2db.spi.ValueHandler; @@ -287,6 +284,7 @@ public class MysqlMetaData extends DefaultMetaService implements MetaData { .charsets(MysqlCharsetEnum.getCharsets()) .collations(MysqlCollationEnum.getCollations()) .indexTypes(MysqlIndexTypeEnum.getIndexTypes()) + .defaultValues(MysqlDefaultValueEnum.getDefaultValues()) .build(); } diff --git a/chat2db-server/chat2db-plugins/chat2db-mysql/src/main/java/ai/chat2db/plugin/mysql/type/MysqlDefaultValueEnum.java b/chat2db-server/chat2db-plugins/chat2db-mysql/src/main/java/ai/chat2db/plugin/mysql/type/MysqlDefaultValueEnum.java new file mode 100644 index 00000000..b48e2c21 --- /dev/null +++ b/chat2db-server/chat2db-plugins/chat2db-mysql/src/main/java/ai/chat2db/plugin/mysql/type/MysqlDefaultValueEnum.java @@ -0,0 +1,29 @@ +package ai.chat2db.plugin.mysql.type; + +import ai.chat2db.spi.model.DefaultValue; + +import java.util.Arrays; +import java.util.List; + +public enum MysqlDefaultValueEnum { + + EMPTY_STRING("EMPTY_STRING"), + NULL("NULL"), + CURRENT_TIMESTAMP("CURRENT_TIMESTAMP"), + ; + private DefaultValue defaultValue; + + MysqlDefaultValueEnum(String defaultValue) { + this.defaultValue = new DefaultValue(defaultValue); + } + + + public DefaultValue getDefaultValue() { + return defaultValue; + } + + public static List getDefaultValues() { + return Arrays.stream(MysqlDefaultValueEnum.values()).map(MysqlDefaultValueEnum::getDefaultValue).collect(java.util.stream.Collectors.toList()); + } + +} diff --git a/chat2db-server/chat2db-plugins/chat2db-oracle/src/main/java/ai/chat2db/plugin/oracle/OracleMetaData.java b/chat2db-server/chat2db-plugins/chat2db-oracle/src/main/java/ai/chat2db/plugin/oracle/OracleMetaData.java index 6d5db543..9108b637 100644 --- a/chat2db-server/chat2db-plugins/chat2db-oracle/src/main/java/ai/chat2db/plugin/oracle/OracleMetaData.java +++ b/chat2db-server/chat2db-plugins/chat2db-oracle/src/main/java/ai/chat2db/plugin/oracle/OracleMetaData.java @@ -8,6 +8,7 @@ import java.util.stream.Collectors; import ai.chat2db.plugin.oracle.builder.OracleSqlBuilder; import ai.chat2db.plugin.oracle.type.OracleColumnTypeEnum; +import ai.chat2db.plugin.oracle.type.OracleDefaultValueEnum; import ai.chat2db.plugin.oracle.type.OracleIndexTypeEnum; import ai.chat2db.spi.MetaData; import ai.chat2db.spi.SqlBuilder; @@ -295,6 +296,7 @@ public class OracleMetaData extends DefaultMetaService implements MetaData { .charsets(Lists.newArrayList()) .collations(Lists.newArrayList()) .indexTypes(OracleIndexTypeEnum.getIndexTypes()) + .defaultValues(OracleDefaultValueEnum.getDefaultValues()) .build(); } diff --git a/chat2db-server/chat2db-plugins/chat2db-oracle/src/main/java/ai/chat2db/plugin/oracle/type/OracleDefaultValueEnum.java b/chat2db-server/chat2db-plugins/chat2db-oracle/src/main/java/ai/chat2db/plugin/oracle/type/OracleDefaultValueEnum.java new file mode 100644 index 00000000..473af5ed --- /dev/null +++ b/chat2db-server/chat2db-plugins/chat2db-oracle/src/main/java/ai/chat2db/plugin/oracle/type/OracleDefaultValueEnum.java @@ -0,0 +1,28 @@ +package ai.chat2db.plugin.oracle.type; + +import ai.chat2db.spi.model.DefaultValue; + +import java.util.Arrays; +import java.util.List; + +public enum OracleDefaultValueEnum { + + EMPTY_STRING("EMPTY_STRING"), + NULL("NULL"), + ; + private DefaultValue defaultValue; + + OracleDefaultValueEnum(String defaultValue) { + this.defaultValue = new DefaultValue(defaultValue); + } + + + public DefaultValue getDefaultValue() { + return defaultValue; + } + + public static List getDefaultValues() { + return Arrays.stream(OracleDefaultValueEnum.values()).map(OracleDefaultValueEnum::getDefaultValue).collect(java.util.stream.Collectors.toList()); + } + +} diff --git a/chat2db-server/chat2db-plugins/chat2db-postgresql/src/main/java/ai/chat2db/plugin/postgresql/PostgreSQLMetaData.java b/chat2db-server/chat2db-plugins/chat2db-postgresql/src/main/java/ai/chat2db/plugin/postgresql/PostgreSQLMetaData.java index 57efaa78..4d46c647 100644 --- a/chat2db-server/chat2db-plugins/chat2db-postgresql/src/main/java/ai/chat2db/plugin/postgresql/PostgreSQLMetaData.java +++ b/chat2db-server/chat2db-plugins/chat2db-postgresql/src/main/java/ai/chat2db/plugin/postgresql/PostgreSQLMetaData.java @@ -7,10 +7,7 @@ import java.util.*; import java.util.stream.Collectors; import ai.chat2db.plugin.postgresql.builder.PostgreSQLSqlBuilder; -import ai.chat2db.plugin.postgresql.type.PostgreSQLCharsetEnum; -import ai.chat2db.plugin.postgresql.type.PostgreSQLCollationEnum; -import ai.chat2db.plugin.postgresql.type.PostgreSQLColumnTypeEnum; -import ai.chat2db.plugin.postgresql.type.PostgreSQLIndexTypeEnum; +import ai.chat2db.plugin.postgresql.type.*; import ai.chat2db.server.tools.common.util.EasyCollectionUtils; import ai.chat2db.spi.MetaData; import ai.chat2db.spi.SqlBuilder; @@ -301,6 +298,7 @@ public class PostgreSQLMetaData extends DefaultMetaService implements MetaData { .charsets(PostgreSQLCharsetEnum.getCharsets()) .collations(PostgreSQLCollationEnum.getCollations()) .indexTypes(PostgreSQLIndexTypeEnum.getIndexTypes()) + .defaultValues(PostgreSQLDefaultValueEnum.getDefaultValues()) .build(); } diff --git a/chat2db-server/chat2db-plugins/chat2db-postgresql/src/main/java/ai/chat2db/plugin/postgresql/type/PostgreSQLDefaultValueEnum.java b/chat2db-server/chat2db-plugins/chat2db-postgresql/src/main/java/ai/chat2db/plugin/postgresql/type/PostgreSQLDefaultValueEnum.java new file mode 100644 index 00000000..6d972883 --- /dev/null +++ b/chat2db-server/chat2db-plugins/chat2db-postgresql/src/main/java/ai/chat2db/plugin/postgresql/type/PostgreSQLDefaultValueEnum.java @@ -0,0 +1,27 @@ +package ai.chat2db.plugin.postgresql.type; + +import ai.chat2db.spi.model.DefaultValue; + +import java.util.Arrays; +import java.util.List; + +public enum PostgreSQLDefaultValueEnum { + EMPTY_STRING("EMPTY_STRING"), + NULL("NULL"), + ; + private DefaultValue defaultValue; + + PostgreSQLDefaultValueEnum(String defaultValue) { + this.defaultValue = new DefaultValue(defaultValue); + } + + + public DefaultValue getDefaultValue() { + return defaultValue; + } + + public static List getDefaultValues() { + return Arrays.stream(PostgreSQLDefaultValueEnum.values()).map(PostgreSQLDefaultValueEnum::getDefaultValue).collect(java.util.stream.Collectors.toList()); + } + +} diff --git a/chat2db-server/chat2db-plugins/chat2db-sqlite/src/main/java/ai/chat2db/plugin/sqlite/SqliteMetaData.java b/chat2db-server/chat2db-plugins/chat2db-sqlite/src/main/java/ai/chat2db/plugin/sqlite/SqliteMetaData.java index 401137ae..f8bc1213 100644 --- a/chat2db-server/chat2db-plugins/chat2db-sqlite/src/main/java/ai/chat2db/plugin/sqlite/SqliteMetaData.java +++ b/chat2db-server/chat2db-plugins/chat2db-sqlite/src/main/java/ai/chat2db/plugin/sqlite/SqliteMetaData.java @@ -9,6 +9,7 @@ import java.util.stream.Collectors; import ai.chat2db.plugin.sqlite.builder.SqliteBuilder; import ai.chat2db.plugin.sqlite.type.SqliteCollationEnum; import ai.chat2db.plugin.sqlite.type.SqliteColumnTypeEnum; +import ai.chat2db.plugin.sqlite.type.SqliteDefaultValueEnum; import ai.chat2db.plugin.sqlite.type.SqliteIndexTypeEnum; import ai.chat2db.spi.MetaData; import ai.chat2db.spi.SqlBuilder; @@ -56,6 +57,7 @@ public class SqliteMetaData extends DefaultMetaService implements MetaData { .charsets(null) .collations(SqliteCollationEnum.getCollations()) .indexTypes(SqliteIndexTypeEnum.getIndexTypes()) + .defaultValues(SqliteDefaultValueEnum.getDefaultValues()) .build(); } diff --git a/chat2db-server/chat2db-plugins/chat2db-sqlite/src/main/java/ai/chat2db/plugin/sqlite/type/SqliteDefaultValueEnum.java b/chat2db-server/chat2db-plugins/chat2db-sqlite/src/main/java/ai/chat2db/plugin/sqlite/type/SqliteDefaultValueEnum.java new file mode 100644 index 00000000..d713f29f --- /dev/null +++ b/chat2db-server/chat2db-plugins/chat2db-sqlite/src/main/java/ai/chat2db/plugin/sqlite/type/SqliteDefaultValueEnum.java @@ -0,0 +1,27 @@ +package ai.chat2db.plugin.sqlite.type; + +import ai.chat2db.spi.model.DefaultValue; + +import java.util.Arrays; +import java.util.List; + +public enum SqliteDefaultValueEnum { + EMPTY_STRING("EMPTY_STRING"), + NULL("NULL"), + ; + private DefaultValue defaultValue; + + SqliteDefaultValueEnum(String defaultValue) { + this.defaultValue = new DefaultValue(defaultValue); + } + + + public DefaultValue getDefaultValue() { + return defaultValue; + } + + public static List getDefaultValues() { + return Arrays.stream(SqliteDefaultValueEnum.values()).map(SqliteDefaultValueEnum::getDefaultValue).collect(java.util.stream.Collectors.toList()); + } + +} diff --git a/chat2db-server/chat2db-plugins/chat2db-sqlserver/src/main/java/ai/chat2db/plugin/sqlserver/SqlServerMetaData.java b/chat2db-server/chat2db-plugins/chat2db-sqlserver/src/main/java/ai/chat2db/plugin/sqlserver/SqlServerMetaData.java index cc4b084b..7b2711cd 100644 --- a/chat2db-server/chat2db-plugins/chat2db-sqlserver/src/main/java/ai/chat2db/plugin/sqlserver/SqlServerMetaData.java +++ b/chat2db-server/chat2db-plugins/chat2db-sqlserver/src/main/java/ai/chat2db/plugin/sqlserver/SqlServerMetaData.java @@ -8,6 +8,7 @@ import java.util.stream.Collectors; import ai.chat2db.plugin.sqlserver.builder.SqlServerSqlBuilder; import ai.chat2db.plugin.sqlserver.type.SqlServerColumnTypeEnum; +import ai.chat2db.plugin.sqlserver.type.SqlServerDefaultValueEnum; import ai.chat2db.plugin.sqlserver.type.SqlServerIndexTypeEnum; import ai.chat2db.spi.MetaData; import ai.chat2db.spi.SqlBuilder; @@ -382,6 +383,7 @@ public class SqlServerMetaData extends DefaultMetaService implements MetaData { .charsets(null) .collations(null) .indexTypes(SqlServerIndexTypeEnum.getIndexTypes()) + .defaultValues(SqlServerDefaultValueEnum.getDefaultValues()) .build(); } diff --git a/chat2db-server/chat2db-plugins/chat2db-sqlserver/src/main/java/ai/chat2db/plugin/sqlserver/type/SqlServerDefaultValueEnum.java b/chat2db-server/chat2db-plugins/chat2db-sqlserver/src/main/java/ai/chat2db/plugin/sqlserver/type/SqlServerDefaultValueEnum.java new file mode 100644 index 00000000..1589a672 --- /dev/null +++ b/chat2db-server/chat2db-plugins/chat2db-sqlserver/src/main/java/ai/chat2db/plugin/sqlserver/type/SqlServerDefaultValueEnum.java @@ -0,0 +1,27 @@ +package ai.chat2db.plugin.sqlserver.type; + +import ai.chat2db.spi.model.DefaultValue; + +import java.util.Arrays; +import java.util.List; + +public enum SqlServerDefaultValueEnum { + EMPTY_STRING("EMPTY_STRING"), + NULL("NULL"), + ; + private DefaultValue defaultValue; + + SqlServerDefaultValueEnum(String defaultValue) { + this.defaultValue = new DefaultValue(defaultValue); + } + + + public DefaultValue getDefaultValue() { + return defaultValue; + } + + public static List getDefaultValues() { + return Arrays.stream(SqlServerDefaultValueEnum.values()).map(SqlServerDefaultValueEnum::getDefaultValue).collect(java.util.stream.Collectors.toList()); + } + +} diff --git a/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/chat2db/client/Chat2dbAIClient.java b/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/chat2db/client/Chat2dbAIClient.java index b3db9845..a687d459 100644 --- a/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/chat2db/client/Chat2dbAIClient.java +++ b/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/chat2db/client/Chat2dbAIClient.java @@ -74,7 +74,10 @@ public class Chat2dbAIClient { apikey = ApplicationContextUtil.getProperty(CHAT2DB_OPENAI_KEY); } Config modelConfig = configService.find(CHAT2DB_OPENAI_MODEL).getData(); - String model = modelConfig.getContent(); + String model = ""; + if (modelConfig != null) { + model = modelConfig.getContent(); + } log.info("refresh chat2db apikey:{}", maskApiKey(apikey)); CHAT2DB_AI_STREAM_CLIENT = Chat2DBAIStreamClient.builder().apiHost(apiHost) .apiKey(apikey).model(model).build(); diff --git a/chat2db-server/chat2db-spi/src/main/java/ai/chat2db/spi/model/DefaultValue.java b/chat2db-server/chat2db-spi/src/main/java/ai/chat2db/spi/model/DefaultValue.java new file mode 100644 index 00000000..dfffbf16 --- /dev/null +++ b/chat2db-server/chat2db-spi/src/main/java/ai/chat2db/spi/model/DefaultValue.java @@ -0,0 +1,12 @@ +package ai.chat2db.spi.model; + +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor +public class DefaultValue { + + private String defaultValue; + +} diff --git a/chat2db-server/chat2db-spi/src/main/java/ai/chat2db/spi/model/TableMeta.java b/chat2db-server/chat2db-spi/src/main/java/ai/chat2db/spi/model/TableMeta.java index 82e9a5a9..6ae0c2d7 100644 --- a/chat2db-server/chat2db-spi/src/main/java/ai/chat2db/spi/model/TableMeta.java +++ b/chat2db-server/chat2db-spi/src/main/java/ai/chat2db/spi/model/TableMeta.java @@ -19,4 +19,6 @@ public class TableMeta { private List indexTypes; + + private List defaultValues; }