diff --git a/crates/dbx-sql-schema/src/table_structure_sql/columns.rs b/crates/dbx-sql-schema/src/table_structure_sql/columns.rs index 7aefdcbf85..4729feefe8 100644 --- a/crates/dbx-sql-schema/src/table_structure_sql/columns.rs +++ b/crates/dbx-sql-schema/src/table_structure_sql/columns.rs @@ -83,14 +83,15 @@ pub(super) fn build_column_sql(options: &TableStructureSqlOptions, warnings: &mu } } None => {} - Some((_, original_storage)) => { - if normalize_mysql_generated_storage(generated.storage.as_deref()) != original_storage { - warnings.push(format!( - "Column \"{}\": MySQL cannot switch a generated column between VIRTUAL and STORED in place; the column must be dropped and re-added.", - column.name - )); - } + Some((_, original_storage)) + if normalize_mysql_generated_storage(generated.storage.as_deref()) != original_storage => + { + warnings.push(format!( + "Column \"{}\": MySQL cannot switch a generated column between VIRTUAL and STORED in place; the column must be dropped and re-added.", + column.name + )); } + Some(_) => {} } } } else if let Some((_, original_storage)) = original_generated { diff --git a/packages/app-tests/tableStructureEditorState.test.ts b/packages/app-tests/tableStructureEditorState.test.ts index 84853bba07..2203ebf702 100644 --- a/packages/app-tests/tableStructureEditorState.test.ts +++ b/packages/app-tests/tableStructureEditorState.test.ts @@ -136,7 +136,9 @@ test("preserves MySQL generated expressions in original column metadata", () => "mysql", ); - assert.deepEqual(draft.extra, {}); + assert.deepEqual(draft.extra, { + generated: { expression: "`price` * `quantity`", storage: "STORED" }, + }); assert.equal(draft.original?.extra, expression); });