Restrict deletion of adjustment reasons if adjustments present#6303
Merged
tvdeyen merged 2 commits intosolidusio:mainfrom Jul 23, 2025
Merged
Restrict deletion of adjustment reasons if adjustments present#6303tvdeyen merged 2 commits intosolidusio:mainfrom
tvdeyen merged 2 commits intosolidusio:mainfrom
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #6303 +/- ##
==========================================
+ Coverage 87.99% 89.22% +1.22%
==========================================
Files 796 952 +156
Lines 16645 20060 +3415
==========================================
+ Hits 14647 17898 +3251
- Misses 1998 2162 +164 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
tvdeyen
reviewed
Jul 8, 2025
Member
tvdeyen
left a comment
There was a problem hiding this comment.
Nice. I think we should be a bit nicer to admins and present an validation error instead of an exception. WDYT?
8dbba6d to
584e5ec
Compare
tvdeyen
approved these changes
Jul 8, 2025
We should not delete adjustment reasons if there are adjustments created with them.
This migration will fail if there are any adjustments with invalid adjustment reason IDs. The suggested path of action for store owners is to change those adjustment reason IDs to NULL, because we don't want to accidentally lose adjustments.
584e5ec to
9e1ca7f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
This adds a
dependent: :restrict_with_errorto thehas_manyassociation betweenspree_adjustmentsandspree_adjustment_reasons. It also adds a corresponding foreign key constraint.If the foreign key constraint fails, the developer gets a suggestion to
niltheadjustment_reason_idcolumn in thespree_adjustmentstable for those records that have an adjustment reason ID with not corresponding adjustment reason. We don't want to delete adjustment records.Extracted from #6240
Checklist
Check out our PR guidelines for more details.
The following are mandatory for all PRs:
The following are not always needed: