fix: wire HostTenantMapping.Meta.database in _setup_redis#4
Merged
Conversation
HostTenantMapping defines its own Meta (model_key_prefix override), so it never chains to BaseCache.Meta.database and its db() resolves to aredis_om's import-time default (localhost:6379, unauthenticated). On deployments where redis requires AUTH this crashes the boot-time Migrator with AuthenticationError as soon as the cache_enabled gate (fixed in #3) lets it run. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
780cbf9 to
6a13ec3
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.
Bug
Follow-up to #3. With the
cache_enabledgate fixed, the boot-timeMigrator().run()actually executes — and immediately crashes the app lifespan on any deployment where redis requires AUTH:HostTenantMappingdeclares its ownclass Meta: model_key_prefix = "host_mapping", which breaks the attribute chain toBaseCache.Meta, so its_meta.databaseresolves at import time toaredis_om.get_redis_connection()—REDIS_OM_URLenv or unauthenticatedlocalhost:6379._setup_rediswiresBaseCache,BaseTenantSettingCacheand the tenant cache, but neverHostTenantMapping.Observed connection per registered model before the fix:
Fix
One line: assign the configured connection to
HostTenantMapping.Meta.databasealongside the existing assignments. Verified live thatHostTenantMapping.db()rebinds fromlocalhost:6379to the configured host after the assignment.🤖 Generated with Claude Code