В моей базе данных есть 2 таблицы: Car
и Garage
, где Car
и Garage
связаны друг с другом через внешние ключи:
В Car
внешний ключ - carHasGarages
. Вся схема выглядит так:
Destination: Garage
Inverse: `garageHasCar`
Delete rule: `Cascade`
Type: `To Many`
В Garage
внешний ключ garageHasCar
и схема:
Destination: Car
Inverse: `carHasGarage`
Delete rule: `Nullify`
Type: `To Many`
При попытке пакетного удаления моего garages
с помощью предиката:
let predicate = NSPredicate(format: "carNbr IN %@", inactiveCars)
let request = NSFetchRequest<NSFetchRequestResult>(entityName: "Car")
request.predicate = predicate
let batchDelete = NSBatchDeleteRequest(fetchRequest: request)
do {
try context.execute(batchDelete)
}...
где inactiveCars
- массив [Int32]
Я получаю следующую ошибку:
error: Unhandled error from executeBatchDeleteRequest Constraint
violation: Batch delete failed due to mandatory MTM nullify inverse on Garage/garageHasCar and userInfo {
"_NSCoreDataOptimisticLockingFailureConflictsKey" = (
"<null>"
);
}
Может кто-то указать на мою ошибку? Я пытаюсь решить эту проблему уже 2 дня и не могу справиться. Вот я и подумал, может быть, я ничего не вижу или что-то пропускаю
Заранее спасибо за ваше время!