I’m investigating Core Data lightweight migration behavior with SQLite and ran into a performance issue.
Scenario:
Model V1: EntityA has one fetchIndex
Model V2: EntityA adds a new optional attribute timestamp (Integer 64), with no changes to existing attributes or fetchIndex definitions
From a SQLite perspective, this change should be handled by a simple:
ALTER TABLE ZENTITYA ADD COLUMN ZTIMESTAMP INTEGER
But I observe that Core Data rebuilds the existing index, which becomes a significant performance issue for large databases.
CoreData: sql: DROP INDEX IF EXISTS Z_EntityA_id
CoreData: sql: ALTER TABLE ZENTITYA ADD COLUMN ZTIMESTAMP INTEGER
CoreData: sql: CREATE INDEX IF NOT EXISTS Z_EntityA_byID ON ZENTITYA
Question:
Is there any way to avoid or bypass index rebuilding for this kind of schema changes?
0
0
48