feat(duckdb): add connection bootstrap and remote catalogs

This commit is contained in:
Komh authored and GitHub committed 2026-07-13 17:03:33 +08:00
1 parent fc5e991a75
commit 35ca4e3a37
41 files changed
+893 -194

No files matched your search

@@ -202,6 +202,7 @@ const defaultForm = (): ConnectionForm => ({
gbase_server: "",
informix_server: "",
external_config: undefined,
init_script: undefined,
read_only: false,
is_production: false,
production_databases: [],
@@ -1450,6 +1451,8 @@ watch(
etcd_endpoints: config.etcd_endpoints || "",
informix_server: config.informix_server || "",
external_config: config.external_config,
attached_databases: config.attached_databases || [],
init_script: config.init_script,
read_only: config.read_only || false,
is_production: config.is_production || false,
production_databases: config.production_databases || [],
@@ -4171,6 +4174,20 @@ function openExternalUrl(url: string) {
</p>
</div>
</div>
<div v-if="form.db_type === 'duckdb'" class="grid grid-cols-4 items-start gap-4">
<Label :class="connectionLabelTopClass">{{ t("connection.initScript") }}</Label>
<div class="col-span-3 space-y-1">
<textarea
v-model="form.init_script"
class="flex min-h-[76px] w-full rounded-md border border-input bg-transparent px-3 py-2 font-mono text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"
:placeholder="t('connection.initScriptPlaceholder')"
spellcheck="false"
/>
<p class="text-xs text-muted-foreground">
{{ t("connection.initScriptHint") }}
</p>
</div>
</div>
<template v-if="form.db_type === 'h2' || form.db_type === 'access'">
<div class="grid grid-cols-4 items-center gap-4">
<Label :class="connectionLabelClass">{{ t("connection.user") }}{{ form.db_type === "access" ? "(可选)" : "" }}</Label>