fix: legacy DB support + QA audit fixes

- Entrypoint: for legacy DBs, add is_admin via raw SQL then stamp head
  (instead of running full migration chain which fails on existing tables)
- Fixed admin_api_keys.py Pydantic config (dict → ConfigDict)
- Added tests/test_alembic_migrations.py (PostgreSQL-only integration tests)
- Fixed infinite recursion in _create_table_if_not_exists (QA catch)
This commit is contained in:
2026-05-26 20:35:36 +03:00
parent e2a473aa98
commit 21e32ac4cc
3 changed files with 146 additions and 4 deletions

View File

@@ -11,7 +11,7 @@
from datetime import datetime
from fastapi import APIRouter, Depends, HTTPException, status
from pydantic import BaseModel, Field
from pydantic import BaseModel, ConfigDict, Field
from sqlalchemy.orm import Session
from ...core.auth.api_key import generate_api_key
@@ -62,7 +62,7 @@ class ApiKeyListItem(BaseModel):
expires_at: datetime | None
last_used_at: datetime | None
model_config = {"from_attributes": True}
model_config = ConfigDict(from_attributes=True)
# #endregion ApiKeyListItem