diff --git a/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/CreateExternalTableModal.svelte b/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/CreateExternalTableModal.svelte index f6cd6af758..45269a365c 100644 --- a/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/CreateExternalTableModal.svelte +++ b/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/CreateExternalTableModal.svelte @@ -7,9 +7,9 @@ let name = "" let submitted = false - $: valid = name && name.length > 0 && !datasource?.entities[name] + $: valid = name && name.length > 0 && !datasource?.entities?.[name] $: error = - !submitted && name && datasource?.entities[name] + !submitted && name && datasource?.entities?.[name] ? "Table name already in use." : null diff --git a/packages/server/src/api/controllers/table/external.js b/packages/server/src/api/controllers/table/external.js index fe9270fe1d..22fe10bfc3 100644 --- a/packages/server/src/api/controllers/table/external.js +++ b/packages/server/src/api/controllers/table/external.js @@ -190,6 +190,9 @@ exports.save = async function (ctx) { const db = getAppDB() const datasource = await db.get(datasourceId) + if (!datasource.entities) { + datasource.entities = {} + } const oldTables = cloneDeep(datasource.entities) const tables = datasource.entities