diff --git a/packages/nc-gui/components/template/Editor.vue b/packages/nc-gui/components/template/Editor.vue index a3bd6af125..8d373da343 100644 --- a/packages/nc-gui/components/template/Editor.vue +++ b/packages/nc-gui/components/template/Editor.vue @@ -128,10 +128,7 @@ const validators = computed(() => hasSelectColumn.value[tableIdx] = false table.columns?.forEach((column, columnIdx) => { - acc[`tables.${tableIdx}.columns.${columnIdx}.column_name`] = [ - fieldRequiredValidator(), - fieldLengthValidator(base.value?.sources?.[0].type || ClientType.MYSQL), - ] + acc[`tables.${tableIdx}.columns.${columnIdx}.column_name`] = [fieldRequiredValidator(), fieldLengthValidator()] acc[`tables.${tableIdx}.columns.${columnIdx}.uidt`] = [fieldRequiredValidator()] if (isSelect(column)) { hasSelectColumn.value[tableIdx] = true diff --git a/packages/nc-gui/composables/useColumnCreateStore.ts b/packages/nc-gui/composables/useColumnCreateStore.ts index 049297535d..3a7eabea08 100644 --- a/packages/nc-gui/composables/useColumnCreateStore.ts +++ b/packages/nc-gui/composables/useColumnCreateStore.ts @@ -126,7 +126,7 @@ const [useProvideColumnCreateStore, useColumnCreateStore] = createInjectionState }) }, }, - fieldLengthValidator(baseType.value || ClientType.MYSQL), + fieldLengthValidator(), ], uidt: [ { diff --git a/packages/nc-gui/utils/validation.ts b/packages/nc-gui/utils/validation.ts index efba54aab3..9eb2b5bc28 100644 --- a/packages/nc-gui/utils/validation.ts +++ b/packages/nc-gui/utils/validation.ts @@ -98,25 +98,18 @@ export const fieldRequiredValidator = () => { } } -export const fieldLengthValidator = (_sqlClientType: string) => { +export const fieldLengthValidator = () => { return { validator: (rule: any, value: any) => { const { t } = getI18n().global + // mysql allows 64 characters for column_name + // postgres allows 59 characters for column_name + // mssql allows 128 characters for column_name + // sqlite allows any number of characters for column_name + // We allow 255 for all databases, truncate will be handled by backend for column_name const fieldLengthLimit = 255 - /* - Now we allow 255 for all databases, truncate will be handled by backend for column_name - - if (sqlClientType === 'mysql2' || sqlClientType === 'mysql') { - fieldLengthLimit = 64 - } else if (sqlClientType === 'pg') { - fieldLengthLimit = 59 - } else if (sqlClientType === 'mssql') { - fieldLengthLimit = 128 - } - */ - return new Promise((resolve, reject) => { if (value?.length > fieldLengthLimit) { reject(new Error(t('msg.error.columnNameExceedsCharacters', { value: fieldLengthLimit })))