Fixed BUG-007 where database migrations failed during initialization because the user_tenant_roles table was never created by any migration, but a later migration tried to modify it. Root Cause: - The user_tenant_roles table was configured in IdentityDbContext but missing from InitialIdentityModule migration - Migration 20251103150353_FixUserTenantRolesIgnoreNavigation tried to drop/recreate foreign keys on a non-existent table - This caused application startup to fail with "relation user_tenant_roles does not exist" Solution: - Made the migration idempotent by checking table existence before operations - If table doesn't exist, create it with proper schema, indexes, and constraints - Drop foreign keys only if they exist (safe for both first run and re-runs) - Corrected principal schema references (users/tenants are in default schema at this migration point) - Removed duplicate ix_user_tenant_roles_tenant_role index (created by later migration) Testing: - Clean database initialization: ✅ SUCCESS - All migrations applied successfully: ✅ SUCCESS - Application starts and listens: ✅ SUCCESS - Foreign keys created correctly: ✅ SUCCESS Impact: - Fixes P0 CRITICAL bug blocking Docker environment delivery - Enables clean database initialization from scratch - Maintains backward compatibility with existing databases 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>