Forbid default value nullification for non-nullable field (#6258)

as per title 


https://github.com/user-attachments/assets/ce07d437-eeeb-488c-8dfa-3fc07316f485
This commit is contained in:
Marie
2024-07-15 14:22:15 +02:00
committed by GitHub
parent d560d25736
commit aed0bf41ce
3 changed files with 63 additions and 0 deletions

View File

@ -19,6 +19,7 @@ import {
FieldMetadataException,
FieldMetadataExceptionCode,
} from 'src/engine/metadata-modules/field-metadata/field-metadata.exception';
import { assertDoesNotNullifyDefaultValueForNonNullableField } from 'src/engine/metadata-modules/field-metadata/utils/assert-does-not-nullify-default-value-for-non-nullable-field.util';
import { computeColumnName } from 'src/engine/metadata-modules/field-metadata/utils/compute-column-name.util';
import { generateNullable } from 'src/engine/metadata-modules/field-metadata/utils/generate-nullable';
import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service';
@ -310,6 +311,11 @@ export class FieldMetadataService extends TypeOrmQueryService<FieldMetadataEntit
assertMutationNotOnRemoteObject(objectMetadata);
assertDoesNotNullifyDefaultValueForNonNullableField({
isNullable: existingFieldMetadata.isNullable,
defaultValueFromUpdate: fieldMetadataInput.defaultValue,
});
if (
objectMetadata.labelIdentifierFieldMetadataId ===
existingFieldMetadata.id &&