Let Resource rollback if import throws exception #377
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If a db exception (such as
Key (name, primary_contact)=(squaberblabeergabatersh, Jenny Susans) already exists.
is thrown during Resource.import_data (when we try to save the instance), then attempting to rollback the database may result inTransactionManagementError “You can't execute queries until the end of the 'atomic' block”
, causing import_data to throw an unhelpful transaction exception. With this fix the function will exit cleanly and the db error will be returned in one of the row_results as intended.No time to add a failing test at the moment, but hopefully this is sufficient information to go on..