fix(capture): every process registers every table before its first query

The models now live in their units' packages, and a core model names a unit's by
string (User.subscriptions -> Subscription). The download child imports neither
catalog nor app.tables before db.get, so mapper configuration failed and every
download, clip, edit and upload job died with child_exit. Each entry point now
imports app.tables, and a test imports each one in a clean interpreter.
This commit is contained in:
2026-10-20 00:45:20 +02:00
parent 5ce292cd28
commit d73cdcee97
5 changed files with 67 additions and 0 deletions
+1
View File
@@ -16,6 +16,7 @@ import shutil
import subprocess
import sys
import app.tables # noqa: F401 — a fresh interpreter: every table, before the first query
from app import logs
from app import logsink
from app.config import settings
+1
View File
@@ -28,6 +28,7 @@ log = logs.get_logger(__name__)
from app import bodylimit, collation, logsink, state, sysconfig # noqa: E402 — logging is configured first
from app.config import settings # noqa: E402 — logging is configured first
from app.db import SessionLocal, engine # noqa: E402 — logging is configured first
import app.tables # noqa: E402 — every table, before the first query
from app.downloads import service as download_service # noqa: E402 — logging is configured first
from app.downloads import storage # noqa: E402 — logging is configured first
from app.plex import stream as plex_stream # noqa: E402 — logging is configured first
+1
View File
@@ -31,6 +31,7 @@ from functools import partial
from sqlalchemy import text
from sqlalchemy.orm import Session
import app.tables # noqa: F401 — every table, before the first query
from app import logs
from app import logsink
from app import sysconfig