From faa1c27d293e6f21890020807835ddd9e9b77512 Mon Sep 17 00:00:00 2001
From: adrinr <adria@budibase.com>
Date: Fri, 31 Mar 2023 10:53:50 +0100
Subject: [PATCH 1/2] Refresh sql columns on defining relationships

---
 .../components/backend/DataTable/DataTable.svelte   |  5 ++++-
 packages/builder/src/stores/backend/tables.js       | 13 +++++++++++++
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/packages/builder/src/components/backend/DataTable/DataTable.svelte b/packages/builder/src/components/backend/DataTable/DataTable.svelte
index 162240e12c..d315e68356 100644
--- a/packages/builder/src/components/backend/DataTable/DataTable.svelte
+++ b/packages/builder/src/components/backend/DataTable/DataTable.svelte
@@ -136,6 +136,7 @@
   const onUpdateColumns = () => {
     selectedRows = []
     fetch.refresh()
+    tables.fetchTable(id)
   }
 
   // Fetch data whenever rows are modified. Unfortunately we have to lose
@@ -148,8 +149,10 @@
   // When importing new rows it is better to reinitialise request/paging data.
   // Not doing so causes inconsistency in paging behaviour and content.
   const onImportData = () => {
-    fetch.getInitialData()
+    fetch.getInitialData(enrichedSchema)
   }
+
+  $: console.log(enrichedSchema)
 </script>
 
 <div>
diff --git a/packages/builder/src/stores/backend/tables.js b/packages/builder/src/stores/backend/tables.js
index ee38504dd1..3b7ce35dde 100644
--- a/packages/builder/src/stores/backend/tables.js
+++ b/packages/builder/src/stores/backend/tables.js
@@ -22,6 +22,18 @@ export function createTablesStore() {
     }))
   }
 
+  const fetchTable = async tableId => {
+    const table = await API.fetchTableDefinition(tableId)
+
+    store.update(state => {
+      const indexToUpdate = state.list.findIndex(t => t._id === table._id)
+      state.list[indexToUpdate] = table
+      return {
+        ...state,
+      }
+    })
+  }
+
   const select = tableId => {
     store.update(state => ({
       ...state,
@@ -126,6 +138,7 @@ export function createTablesStore() {
   return {
     subscribe: derivedStore.subscribe,
     fetch,
+    fetchTable,
     init: fetch,
     select,
     save,

From 6f69798f2724aea7d84846a3f28ca50bc021e4ef Mon Sep 17 00:00:00 2001
From: adrinr <adria@budibase.com>
Date: Fri, 31 Mar 2023 11:27:44 +0100
Subject: [PATCH 2/2] Undo wrongly commited code

---
 .../builder/src/components/backend/DataTable/DataTable.svelte | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/packages/builder/src/components/backend/DataTable/DataTable.svelte b/packages/builder/src/components/backend/DataTable/DataTable.svelte
index d315e68356..0c5adfc18c 100644
--- a/packages/builder/src/components/backend/DataTable/DataTable.svelte
+++ b/packages/builder/src/components/backend/DataTable/DataTable.svelte
@@ -149,10 +149,8 @@
   // When importing new rows it is better to reinitialise request/paging data.
   // Not doing so causes inconsistency in paging behaviour and content.
   const onImportData = () => {
-    fetch.getInitialData(enrichedSchema)
+    fetch.getInitialData()
   }
-
-  $: console.log(enrichedSchema)
 </script>
 
 <div>