Skip to content

Commit 21cc9a4

Browse files
committed
fix: add required check for setNull deletion
1 parent 1843641 commit 21cc9a4

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

adminforth/modules/configValidator.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -618,11 +618,14 @@ export default class ConfigValidator implements IConfigValidator {
618618
errors.push(`Resource "${res.resourceId}" column "${col.name}" isArray is enabled but suggestOnCreate is not an array`);
619619
}
620620
}
621-
621+
622622
if (col.foreignResource) {
623623
if (col.foreignResource.onDelete && (col.foreignResource.onDelete !== 'cascade' && col.foreignResource.onDelete !== 'setNull')){
624624
errors.push (`Resource "${res.resourceId}" column "${col.name}" has wrong delete strategy, you can use 'setNull' or 'cascade'`);
625625
}
626+
if (col.foreignResource.onDelete === 'setNull' && col.required) {
627+
errors.push(`Resource "${res.resourceId}" column "${col.name}" cannot use onDelete 'setNull' because column is required (non-nullable).`);
628+
}
626629
if (!col.foreignResource.resourceId) {
627630
// resourceId is absent or empty
628631
if (!col.foreignResource.polymorphicResources && !col.foreignResource.polymorphicOn) {

0 commit comments

Comments
 (0)