Rules Hub
Coding Rules Library
← Back to all rules
Rule priority, scope & exceptions
Use this to align rules with the senior-level structure (P0/P1/P2, scope, exceptions/tradeoffs).
backend ruleP1universalStack: sql
sqldata-integritycascadeconstraints
Prefer DB cascade deletes over manually deleting child rows
When removing an aggregate, rely on ON DELETE CASCADE FK hooks instead of issuing manual deletes for each related table where feasible.
PR: vinify-backend · org-mining-deep-2026-06Created: Jun 17, 2026
Bad example
Old codetypescript
| 1 | await childA.destroy({ where: { userId } }); |
| 2 | await childB.destroy({ where: { userId } }); |
| 3 | await user.destroy(); |
Explanation (EN)
Objašnjenje (HR)
Good example
New codetypescript
| 1 | // FKs declared ON DELETE CASCADE |
| 2 | await user.destroy(); // children removed automatically |
Explanation (EN)
Objašnjenje (HR)