diff --git a/apps/desktop/src/components/objects/ObjectBrowser.vue b/apps/desktop/src/components/objects/ObjectBrowser.vue
index f78dc38103..8ed0da7bd2 100644
--- a/apps/desktop/src/components/objects/ObjectBrowser.vue
+++ b/apps/desktop/src/components/objects/ObjectBrowser.vue
@@ -1035,6 +1035,28 @@ async function fetchTableTriggers() {
}
}
+async function refreshActiveTableInfo() {
+ if (sidePanelMode.value !== "table-info" || !sidePanelRow.value) return;
+ sidePanelGuard.bump();
+
+ if (tableInfoTab.value === "ddl") {
+ tableDdlContent.value = "";
+ await fetchTableDdl();
+ } else if (tableInfoTab.value === "columns") {
+ tableColumns.value = [];
+ await fetchTableColumns();
+ } else if (tableInfoTab.value === "indexes") {
+ tableIndexes.value = [];
+ await fetchTableIndexes();
+ } else if (tableInfoTab.value === "foreignKeys") {
+ tableForeignKeys.value = [];
+ await fetchTableForeignKeys();
+ } else if (tableInfoTab.value === "triggers") {
+ tableTriggers.value = [];
+ await fetchTableTriggers();
+ }
+}
+
function copyTableDdl() {
void copyToClipboard(tableDdlContent.value);
toast(t("grid.copyDdl"), 2000);
@@ -2454,6 +2476,7 @@ async function reload(options?: { allowCachedObjects?: boolean; contextEpoch?: n
function refresh(): boolean {
void reload();
+ void refreshActiveTableInfo();
return true;
}
@@ -2778,7 +2801,7 @@ function getObjectBrowserMenuItems(item: ObjectBrowserRow): ContextMenuItem[] {
-