mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2025-12-21 12:49:06 +00:00
refactor: migrate to SQLAlchemy 2.0 ORM-style patterns
- Replace __table__.join() with ORM-style joins using select_from().outerjoin() - Replace __table__.delete() with delete(Model) in tests - Migrate from **row.__dict__ to model_validate() with ConfigDict(from_attributes=True) - Add ConfigDict(from_attributes=True) to all Pydantic models for proper SQLAlchemy model conversion - Update all controller methods to use model_validate() instead of dict unpacking This completes the migration to SQLAlchemy 2.0 recommended patterns while maintaining backwards compatibility and improving code consistency.
This commit is contained in:
@@ -2,7 +2,7 @@ from datetime import datetime, timedelta, timezone
|
||||
from unittest.mock import AsyncMock, patch
|
||||
|
||||
import pytest
|
||||
from sqlalchemy import insert, select, update
|
||||
from sqlalchemy import delete, insert, select, update
|
||||
|
||||
from reflector.db.base import (
|
||||
MeetingConsentModel,
|
||||
@@ -310,11 +310,9 @@ async def test_meeting_consent_cascade_delete(db_session):
|
||||
|
||||
# Delete the transcript and meeting
|
||||
await db_session.execute(
|
||||
TranscriptModel.__table__.delete().where(TranscriptModel.id == transcript.id)
|
||||
)
|
||||
await db_session.execute(
|
||||
MeetingModel.__table__.delete().where(MeetingModel.id == meeting_id)
|
||||
delete(TranscriptModel).where(TranscriptModel.id == transcript.id)
|
||||
)
|
||||
await db_session.execute(delete(MeetingModel).where(MeetingModel.id == meeting_id))
|
||||
await db_session.commit()
|
||||
|
||||
# Verify consent entries were cascade deleted
|
||||
|
||||
Reference in New Issue
Block a user