diff --git a/apps/desktop/src/lib/dataGrid/dataGenerate.ts b/apps/desktop/src/lib/dataGrid/dataGenerate.ts index a418ac4e07..433b8452ab 100644 --- a/apps/desktop/src/lib/dataGrid/dataGenerate.ts +++ b/apps/desktop/src/lib/dataGrid/dataGenerate.ts @@ -1204,7 +1204,7 @@ export function defaultGeneratorParams(_columnName: string, attrs: ColumnAttrs, const scale = attrs.numericScale ?? null; const charLen = attrs.characterMaximumLength ?? null; if (!attrs.isAutoIncrement && generatedDefaultValue(attrs.columnDefault, attrs.dataType) !== undefined) { - params.includeDefault = true; + params.includeDefault = false; params.defaultPercent = 100; } @@ -1552,7 +1552,7 @@ export function generateValue(columnName: string, dataType: string, generatorKey if (params?.includeNull && params.nullPercent && Math.random() * 100 < params.nullPercent) return null; const defaultValue = generatedDefaultValue(columnDefault, dataType); if (defaultValue !== undefined) { - const includeDefault = params?.includeDefault ?? true; + const includeDefault = params?.includeDefault ?? false; const defaultPercent = params?.defaultPercent ?? 100; if (includeDefault && defaultPercent > 0 && Math.random() * 100 < defaultPercent) return defaultValue; } diff --git a/packages/app-tests/dataGenerate.test.ts b/packages/app-tests/dataGenerate.test.ts index c667d32c6f..3438a4ff44 100644 --- a/packages/app-tests/dataGenerate.test.ts +++ b/packages/app-tests/dataGenerate.test.ts @@ -11,7 +11,7 @@ test("recognizes Oracle-compatible NUMBER column types as numeric", () => { assert.equal(findGeneratorKey("value", "NUMBER CODE"), "text"); }); -test("enables default values for columns with schema defaults", () => { +test("keeps schema defaults optional for generated columns", () => { const params = defaultGeneratorParams( "status", { @@ -21,10 +21,18 @@ test("enables default values for columns with schema defaults", () => { "text", ); - assert.equal(params.includeDefault, true); + assert.equal(params.includeDefault, false); assert.equal(params.defaultPercent, 100); }); +test("does not let schema defaults override generated values unless enabled", () => { + const generated = generateValue("age", "bigint", "sequence", 4, { startValue: 1, increment: 1 }, "0"); + const explicitDefault = generateValue("age", "bigint", "sequence", 4, { includeDefault: true, defaultPercent: 100 }, "0"); + + assert.equal(generated, 5); + assert.equal(explicitDefault, 0); +}); + test("uses string column defaults instead of random generated values", () => { const result = generateTableData( {