Instance Method


Moves a persistent store to a new location, changing the storage type if necessary.


- (NSPersistentStore *)migratePersistentStore:(NSPersistentStore *)store toURL:(NSURL *)URL options:(NSDictionary *)options withType:(NSString *)storeType error:(NSError * _Nullable *)error;



A persistent store.


An URL object that specifies the location for the new store.


A dictionary containing key-value pairs that specify whether the store should be read-only, and whether (for an XML store) the XML file should be validated against the DTD before it is read. For key definitions, see Store Options.


A string constant (such as NSSQLiteStoreType) that specifies the type of the new store—see Persistent Store Types.


If an error occurs, upon return contains an instance of NSError that describes the problem.

Return Value

If the migration is successful, the new store, otherwise nil.


This method is typically used for “Save As”€ operations. Performance may vary depending on the type of old and new store. For more details of the action of this method, see Persistent Store Features in Core Data Programming Guide.

See Also

Configuring Persistent Stores

- addPersistentStoreWithType:configuration:URL:options:error:

Adds a new persistent store of a specified type at a given location, and returns the new store.

- addPersistentStoreWithDescription:completionHandler:

Adds a new persistent store of a specified description, and returns the new store.

- setURL:forPersistentStore:

Sets the URL for a given persistent store.

- removePersistentStore:error:

Removes a given persistent store.

- destroyPersistentStoreAtURL:withType:options:error:

Deletes (or truncates) the target persistent store in accordance with the store class' requirements.


The persistent stores associated with the coordinator.

- persistentStoreForURL:

Returns the persistent store for the specified URL.

- URLForPersistentStore:

Returns the URL for a given persistent store.


Name of the coordinator.

Store Options

Use options dictionary keys to specify store behavior and characteristics.