Major changes:
- Consolidate 3 different User models into single unified model (models/user.py)
- Use UUID primary keys throughout (matches existing database schema)
- Add comprehensive authentication fields while preserving existing data
- Remove duplicate User model from auth.py, keep APIKey/RefreshToken/TokenBlacklist
- Update all imports to use unified User model consistently
- Create database migration (002_add_auth_fields.sql) for safe schema upgrade
- Fix frontend User interface to handle UUID string IDs
- Add backward compatibility fields (name property, role field)
- Maintain relationships for authentication features (api_keys, refresh_tokens)
Schema conflicts resolved:
✅ Migration schema (UUID, 7 fields) + Basic model (Integer, 6 fields) + Auth model (Integer, 10 fields)
→ Unified model (UUID, 12 fields with full backward compatibility)
✅ Field inconsistencies (name vs full_name) resolved with compatibility property
✅ Database foreign key constraints updated for UUID relationships
✅ JWT token handling fixed for UUID user IDs
This completes the holistic database schema unification requested after quick
patching caused conflicts. All existing data preserved, full auth system functional.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>