Skip to content

Commit c606653

Browse files
committed
VARCHAR default value
1 parent 44e6082 commit c606653

4 files changed

Lines changed: 49 additions & 39 deletions

File tree

chat2db-client/.vscode/settings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@
7878
"umijs",
7979
"USERANDPASSWORD",
8080
"uuidv",
81+
"VARCHAR",
8182
"VIEWCOLUMN",
8283
"wireframe"
8384
],

chat2db-client/src/blocks/DatabaseTableEditor/ColumnList/index.tsx

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,12 @@ const ColumnList = forwardRef((props: IProps, ref: ForwardedRef<IColumnListRef>)
348348
if (editStatus !== EditColumnOperationType.Add) {
349349
editStatus = EditColumnOperationType.Modify;
350350
}
351+
const editingDataItem = {
352+
...item,
353+
[name]: value,
354+
editStatus,
355+
};
356+
351357
if (name === 'columnType') {
352358
// 根据当前字段类型,设置编辑配置
353359
databaseSupportField.columnTypes.forEach((i) => {
@@ -358,15 +364,19 @@ const ColumnList = forwardRef((props: IProps, ref: ForwardedRef<IColumnListRef>)
358364
});
359365
}
360366
});
367+
// 特殊处理VARCHAR的默认长度 为255
368+
if (value === 'VARCHAR' && editingDataItem.columnSize === null) {
369+
editingDataItem.columnSize = 255;
370+
form.setFieldsValue({
371+
columnSize: 255,
372+
});
373+
}
361374
}
362-
return {
363-
...item,
364-
[name]: value,
365-
editStatus,
366-
};
375+
return editingDataItem;
367376
}
368377
return item;
369378
});
379+
console.log(newData);
370380
setDataSource(newData);
371381
};
372382

chat2db-client/src/blocks/DatabaseTableEditor/index.tsx

Lines changed: 28 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import ColumnList, { IColumnListRef } from './ColumnList';
77
import BaseInfo, { IBaseInfoRef } from './BaseInfo';
88
import sqlService, { IModifyTableSqlParams, IExecuteSqlParams } from '@/service/sql';
99
import MonacoEditor, { IExportRefFunction } from '@/components/Console/MonacoEditor';
10-
import { IEditTableInfo, IWorkspaceTab, IManageResultData } from '@/typings';
10+
import { IEditTableInfo, IWorkspaceTab } from '@/typings';
1111
import { DatabaseTypeCode } from '@/constants';
1212
import i18n from '@/i18n';
1313
import lodash from 'lodash';
@@ -49,7 +49,7 @@ export default memo((props: IProps) => {
4949
const columnListRef = useRef<IColumnListRef>(null);
5050
const indexListRef = useRef<IIndexListRef>(null);
5151
const monacoEditorRef = useRef<IExportRefFunction>(null);
52-
const [executeSqlResult, setExecuteSqlResult] = useState<IManageResultData[]>();
52+
const [executeSqlResult, setExecuteSqlResult] = useState<string | null>(null);
5353
const [executeLoading, setExecuteLoading] = useState<boolean>(false);
5454
const [appendValue, setAppendValue] = useState<string>('');
5555
const tabList = useMemo(() => {
@@ -80,18 +80,24 @@ export default memo((props: IProps) => {
8080
setCurrentTab(item);
8181
}
8282

83+
useEffect(() => {
84+
if (!viewSqlModal) {
85+
setExecuteSqlResult(null);
86+
}
87+
}, [viewSqlModal]);
88+
8389
useEffect(() => {
8490
if (tableName) {
85-
getTableDetails();
91+
getTableDetails({});
8692
}
8793
}, []);
8894

89-
const getTableDetails = () => {
95+
const getTableDetails = ({ tableNameProps }: { tableNameProps?: string }) => {
9096
if (!tableName) return;
9197
const params = {
9298
databaseName,
9399
dataSourceId,
94-
tableName,
100+
tableName: tableNameProps || tableName,
95101
schemaName,
96102
refresh: true,
97103
};
@@ -139,25 +145,26 @@ export default memo((props: IProps) => {
139145
};
140146
setExecuteLoading(true);
141147
sqlService
142-
.executeSql(executeSQLParams)
148+
.executeDDL(executeSQLParams)
143149
.then((res) => {
144-
if (!tableName) {
145-
const newTableName = baseInfoRef.current?.getBaseInfo().name;
146-
changeTabDetails({
147-
...tabDetails,
148-
title: `edit-${newTableName}`,
149-
uniqueData: {
150-
...(tabDetails.uniqueData || {}),
151-
tableName: newTableName,
152-
},
153-
});
154-
}
155-
if (res.filter((t) => !t.success).length === 0) {
150+
if (res.success) {
156151
setViewSqlModal(false);
157152
message.success(i18n('common.text.successfulExecution'));
153+
const newTableName = baseInfoRef.current?.getBaseInfo().name;
154+
getTableDetails({ tableNameProps: newTableName });
155+
if (!tableName) {
156+
changeTabDetails({
157+
...tabDetails,
158+
title: `edit-${newTableName}`,
159+
uniqueData: {
160+
...(tabDetails.uniqueData || {}),
161+
tableName: newTableName,
162+
},
163+
});
164+
}
165+
} else {
166+
setExecuteSqlResult(res.message);
158167
}
159-
setExecuteSqlResult(res);
160-
getTableDetails();
161168
})
162169
.finally(() => {
163170
setExecuteLoading(false);
@@ -255,19 +262,7 @@ export default memo((props: IProps) => {
255262
<div className={styles.result}>
256263
<div className={styles.resultHeader}>{i18n('common.text.errorMessage')}</div>
257264
<div className={styles.resultContent}>
258-
{executeSqlResult
259-
?.filter((t) => !t.success)
260-
.map((t, i) => {
261-
return (
262-
<div key={i}>
263-
<div className={styles.errorTitle}>
264-
<Iconfont code="&#xe87c;" />
265-
sql{i + 1}:{t.sql}
266-
</div>
267-
<div className={styles.errorMessage}>{t.message}</div>
268-
</div>
269-
);
270-
})}
265+
<div className={styles.errorMessage}>{executeSqlResult}</div>
271266
</div>
272267
</div>
273268
)}

chat2db-client/src/service/sql.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,9 +205,13 @@ export interface IModifyTableSqlParams {
205205
}
206206

207207
/** 获取修改表的sql */
208-
const getModifyTableSql = createRequest<IModifyTableSqlParams, {sql:string}[]>('/api/rdb/table/modify/sql', { method: 'post' });
208+
const getModifyTableSql = createRequest<IModifyTableSqlParams, { sql: string }[]>('/api/rdb/table/modify/sql', { method: 'post' });
209+
210+
/** 执行编辑表的sql, 专为编辑表而生 */
211+
const executeDDL = createRequest<IExecuteSqlParams, {success: boolean, message: string}>('/api/rdb/dml/execute_ddl', {method:'post'});
209212

210213
export default {
214+
executeDDL,
211215
getModifyTableSql,
212216
getTableDetails,
213217
getDatabaseFieldTypeList,

0 commit comments

Comments
 (0)