diff --git a/api/src/database/system-data/fields/collections.yaml b/api/src/database/system-data/fields/collections.yaml index b826b4436d..df3a366afa 100644 --- a/api/src/database/system-data/fields/collections.yaml +++ b/api/src/database/system-data/fields/collections.yaml @@ -156,6 +156,8 @@ fields: - decimal - integer allowNone: true + allowPrimaryKey: false + allowForeignKeys: false width: half - field: accountability_divider diff --git a/app/src/interfaces/_system/system-field/system-field.vue b/app/src/interfaces/_system/system-field/system-field.vue index 3e5df4a56a..9f7881cd39 100644 --- a/app/src/interfaces/_system/system-field/system-field.vue +++ b/app/src/interfaces/_system/system-field/system-field.vue @@ -56,6 +56,10 @@ export default defineComponent({ type: Boolean, default: false, }, + allowForeignKeys: { + type: Boolean, + default: true, + }, }, emits: ['input'], setup(props, { emit }) { @@ -84,6 +88,7 @@ export default defineComponent({ let disabled = false; if (props.allowPrimaryKey === false && field?.schema?.is_primary_key === true) disabled = true; + if (props.allowForeignKeys === false && field?.schema?.foreign_key_table) disabled = true; if (props.typeAllowList.length > 0 && props.typeAllowList.includes(field.type) === false) disabled = true; return {