fix(table): keep mysql DEFAULT_GENERATED columns copyable

This commit is contained in:
二丫讲梵 authored and GitHub committed 2026-09-11 12:06:23 +08:00
1 parent ee7ee0d572
commit 3840426128
2 files changed
+5 -3

No files matched your search

+3 -1
View File
@@ -94,7 +94,9 @@ export function tableDataCopyColumnOptions(databaseType: DatabaseType | undefine
function isWritableTableDataCopyColumn(databaseType: DatabaseType | undefined, column: ColumnInfo): boolean {
const extra = (column.extra ?? "").toLowerCase();
if (databaseType === "mysql") {
return !extra.includes("generated");
// DEFAULT_GENERATED marks a writable expression default, not a generated column.
// Accept both raw EXTRA metadata and the backend's expanded generation clause.
return !/\b(?:virtual|stored|persistent)\s+generated\b|\bgenerated\s+always\s+as\s*\(/.test(extra);
}
if (databaseType === "postgres") {
return !extra.includes("generated always as (");