diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 8fbb4ac..0689660 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -6433,7 +6433,7 @@ dependencies = [ [[package]] name = "sqlkit" -version = "0.8.0" +version = "0.8.1" dependencies = [ "async-trait", "base64 0.22.1", diff --git a/src/components/database-browser/DataTableView.vue b/src/components/database-browser/DataTableView.vue index 6dd8ee2..dcb4fd6 100644 --- a/src/components/database-browser/DataTableView.vue +++ b/src/components/database-browser/DataTableView.vue @@ -470,12 +470,24 @@ function toggleColumn(col: string) { : new Set([...hiddenColumns.value, col]) } +function formatTimestamp(): string { + const d = new Date() + const pad = (n: number) => n.toString().padStart(2, '0') + return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}_${pad(d.getHours())}-${pad(d.getMinutes())}-${pad(d.getSeconds())}` +} + async function exportCSV() { if (!data.value) return const csv = rowsToCsv(data.value.rows, visibleColumns.value) - const defaultName = `${props.tableName}.csv` + const conn = connectionStore.getConnectionById(props.connectionId) + const connName = conn?.name || props.connectionId + const parts = [connName, props.database] + if (props.schema) + parts.push(props.schema) + parts.push(props.tableName, formatTimestamp()) + const defaultName = `${parts.join('-')}.csv` try { const selectedPath = await showSaveDialog({ @@ -841,16 +853,15 @@ watch(