When merging objects, we could end up with data in an expected state: We call update and destroy on a bunch of objects, but don't handle the failure mode.
For example, if we can't save an album_artist, we would just end up just dropping this. (I'm not sure if there is an easy way to recreate the problem currently)
We should make sure we either apply all changes of the merge, or none. For example by:
- Using the bang variants of these method to raise an exception if something goes wrong
- Wrapping the whole merge method in a transaction so all the changes roll back if something went wrong
When merging objects, we could end up with data in an expected state: We call
updateanddestroyon a bunch of objects, but don't handle the failure mode.For example, if we can't save an album_artist, we would just end up just dropping this. (I'm not sure if there is an easy way to recreate the problem currently)
We should make sure we either apply all changes of the merge, or none. For example by: