feat: PostgreSQL → SQLite — thread-local, WAL, session-key, os.remove cleanup
Deploy contracts-flask / validate (push) Successful in 0s

This commit is contained in:
2026-07-15 10:56:42 +04:00
parent 96718fc065
commit a7b53fde19
5 changed files with 214 additions and 132 deletions
+4 -26
View File
@@ -29,36 +29,14 @@ def create_app():
def _init_db():
"""Schema migration + recovery: сброс застрявших classify."""
"""Создать БД + схему + seed prompts. SQLite — всё в одном файле /tmp."""
from site.db.connection import init_db
init_db()
try:
from site.db.connection import execute
for sql in [
"ALTER TABLE documents ADD COLUMN IF NOT EXISTS classify_raw text",
"ALTER TABLE documents ADD COLUMN IF NOT EXISTS classify_input text",
"ALTER TABLE documents ADD COLUMN IF NOT EXISTS zip_source text",
"ALTER TABLE documents ADD COLUMN IF NOT EXISTS content_hash text",
"ALTER TABLE documents ADD COLUMN IF NOT EXISTS batch_id uuid",
"ALTER TABLE documents ADD COLUMN IF NOT EXISTS classify_status text DEFAULT 'pending'",
"ALTER TABLE documents ALTER COLUMN classify_status SET DEFAULT 'pending'",
"ALTER TABLE documents ADD COLUMN IF NOT EXISTS doc_type text",
"ALTER TABLE documents ADD COLUMN IF NOT EXISTS own_number text",
"ALTER TABLE documents ADD COLUMN IF NOT EXISTS parent_number text",
"ALTER TABLE documents ADD COLUMN IF NOT EXISTS doc_date date",
"ALTER TABLE documents ADD COLUMN IF NOT EXISTS counterparty text",
]:
execute(sql)
from site.db import prompts as db_prompts
db_prompts.seed_defaults()
# Crash recovery: сбросить застрявшие classify
execute(
"UPDATE documents SET classify_status='pending', error_message=NULL "
"WHERE classify_status='processing'"
)
except Exception:
pass # БД недоступна при старте — не фатально
pass
app = create_app()