On Mar 17, 2010, at 2:59 PM, Tobias Jordan wrote: > Hello Ben, > > Thanks a lot for responding! My problem is as follows: The database which is > currently a non-document based core data SQLite one is normally stored in the > local User Library of the user. (/Users/user/Library/Application > Support/MyApp/database.db > > But there are cases in which two (or more) different physical machines must > have access to the database.
Don't do that. Network file systems do not provide real time distributed cache coherency. NFS is not a free version of Oracle. > For example two designers working on a project and they both need the same > database so they can share their results. This means they create a new > database on their server and link my app to this database. Each machine can have its own database and they can share their results with NSDistributedNotification or some other IPC/networking protocol. You can hook into the NSManagedObjectContextDidSaveNotification to track when one of the peers has committed changes locally. - Ben > > As you've said, is there a way the data can be always immediately written to > disk so there's no 'last writer wins'? > > I am not using NSDocument based techniques -- it is really just one core data > DB. > > Thank you! > > Regards, > Tobias > > > On Mar 17, 2010, at 10:29 PM, Ben Trumbull wrote: > >>> I am wondering whether it is possible to create a database in core >>> data that can be opened by more than one application at the same time. >>> It is currently impossible to handle one SQLite database with two >>> instances of the same app. The problem is if user1 quits the app, the >>> data is saved but user2's instance of the app doesn't recognize this >>> file system change and just overwrites its version in memory. So the >>> data from user1 is gone. Is there a way I can handle this? >>> >>> Second -- I am having more than two database versions now but still >>> want to support my version 1.0 but the mapping model only allows one >>> source model as well as only one target model. I would have to remove >>> one version but that makes version 1.0 users' database unusable. >>> >>> Has anyone gotten something like this to work? >> >> Yes, several Apple frameworks use Core Data databases from multiple >> processes simultaneously with a single user account and single physical >> machine. >> >> Do you mean "more than one application simultaneously on more than one >> physical computer over NFS/AFP/SMB" ? Don't do that. >> >> Or do you mean an NSDocument based application using Core Data & an SQLite >> store ? NSDocuments intentionally behave like TextEdit. Last writer wins, >> overwites everything. If so, you should be using a non-document based Core >> Data project template. >> >> - Ben >> > - Ben _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com