Полагаю, вы используете migratePersistentStore
, потому что это официальный способ сделать это. Это хороший способ, но иногда нужно испачкать руки:
Перемещение базы данных вручную при запуске приложения перед загрузкой
Этот пост показывает, что CoreData может использовать более одного файла, который вам нужно переместить. Вы можете перечислить файлы в каталоге, использовать регулярное выражение, найти все файлы, которые необходимо переместить, переместить их в новое место и затем загрузить CoreData как обычно из нового места.
Это, однако, требует наличия необходимой инфраструктуры для этого. Вы поймете это, если хотите пойти по этому пути.
Вы можете скрыть это за признаком функции, только с кодом, только для определенного пользователя или после сбоя с нехваткой памяти, так что это не повлияет на пользователей, которым это не нужно.