fix(mysql): collapse storage warning guard and update generated draft expectation

This commit is contained in:
t8y2
2026-10-08 23:46:24 +08:00
parent be2831eafd
commit 89ed17d645
2 changed files with 11 additions and 8 deletions
@@ -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 {
+3 -1
View File
@@ -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);
});