2010-12-15 12 views
13

Estoy intentando migrar un almacén sqlite de iPhone/iPad de aproximadamente 11Mb. Tiene alrededor de treinta entidades diferentes, todas muy interrelacionadas.Migración de datos de núcleo múltiple en fragmentos con iOS

En un 3GS, lleva bastante tiempo. Incluso una migración ligera lleva alrededor de cuatro minutos.

Supongo que esto se debe a que todas las relaciones se mantienen en la memoria.

Al leer la guía de migración de Apple, dice que para grandes conjuntos de datos, un enfoque es hacer múltiples pasadas usando diferentes modelos de mapeo.

Todo bien. Sin embargo, parece que no puede hacer esto si las entidades en un modelo de mapeo están relacionadas con las de otro. De hecho, se genera un error de compilación en la línea de "no se puede generar automáticamente una expresión de valor con nulo nombre de mapeo" en el archivo Mapping Model xcmappingmodel.

Cualquier consejo muy apreciado.

Muchas gracias,

Max

+0

Hola Max: ¿alguna vez has encontrado una respuesta a esto? Me acabo de dar cuenta de que estoy en el mismo barco que usted (gran conjunto de datos con entidades altamente relacionadas) y algunos dispositivos no podrán realizar una migración. Estoy empezando a pensar que la única forma de administrar esto realmente sería hacerlo completamente personalizado (es decir, no usar NSMigrationManager en absoluto ... recrear completamente el almacén de datos usted mismo ... bleargh). – glenc

+0

Todavía no tengo miedo ya que me he mudado a otro proyecto. Mi técnica era hacer una migración completamente personalizada. La próxima vez que vea a mi colega, le preguntaré si logró resolverlo. –

Respuesta

1

Cant que acaba de crear una nueva base de datos con el nuevo scheema y luego iniciar el proceso de migración mediante la lectura de la anterior y la inserción a la nueva?

+0

Sí, eso es lo que terminé haciendo. Todavía era bastante lento porque todo todavía se guarda en la memoria. El procesamiento de todas las relaciones es el problema. –

Cuestiones relacionadas