Add organization_id to authentication_events
What does this MR do and why?
This MR adds organization_id as a sharding key to the authentication_events table as part of GitLab's Cells and Organizations initiative.
Background
The authentication_events table currently lacks a proper sharding key, which is required for GitLab's Cells architecture. Investigation in #553447 (closed) revealed that not all authentication events have an associated user_id, making organization_id a more suitable sharding key for this table.
Implementation Details
This is Step 1 of a 3-step migration process:
- 
Step 1 (This MR): Add organization_idcolumn with default value1
- Step 2: Update application code to ensure organization is properly set for new records
- Step 3: Remove default value constraint once all records have proper organization associations
Technical Context
- 
Table Size: Medium (as documented in db/docs/authentication_events.yml)
- Feature Category: System Access
- 
Schema: gitlab_main_org(organization-level data)
- 
Model: AuthenticationEvent- tracks user authentication attempts across various providers
References
- Parent Issue: Add organization_id as sharding key for authentication_events table #561359
- Investigation Issue: Sharding Key Investigation for authentication_events table #553447
- Cells Architecture Documentation
- Organization Sharding Guidelines
Database Impact
- Migration Type: Non-blocking (uses concurrent operations)
- Downtime: None expected
- 
Index Addition: Concurrent index on organization_id
- Foreign Key: Added with cascade delete to maintain referential integrity
- 
Default Value: Temporary default of 1(default organization) for existing records
Edited  by Aboobacker MK