perf: Skip syncing db comments for apps already synced in TransactionTestCase #27
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
Problem
Django's
TransactionTestCasecallsflushafter each test, which emits thepost_migratesignal and triggers database comment syncing. This becomes expensive proportionally to the number of models, causing slower test execution.As noted in Django docs:
Changes
PROCESSED_APPSglobal set to track apps that have already been processedcopy_help_texts_to_database()test_post_migrate_signalto newTestDbcommentsSignal(TransactionTestCase)class with proper test isolationPerformance Impact
This change significantly improves test execution speed by preventing redundant database comment operations during test runs.
Test plan
available_appsBased on commit
693501daddressing SC-102662.🤖 Generated with Claude Code