from sqlalchemy import create_engine, inspect, text from app.db import _ensure_runtime_schema def test_runtime_schema_adds_skipped_count_to_existing_crawl_runs_table(monkeypatch): engine = create_engine("sqlite:///:memory:") with engine.begin() as connection: connection.execute( text( """ CREATE TABLE crawl_runs ( id INTEGER PRIMARY KEY, source_url TEXT NOT NULL, status VARCHAR(32) NOT NULL DEFAULT 'running', found_count INTEGER NOT NULL DEFAULT 0, parsed_count INTEGER NOT NULL DEFAULT 0 ) """ ) ) monkeypatch.setattr("app.db.engine", engine) _ensure_runtime_schema() columns = {column["name"] for column in inspect(engine).get_columns("crawl_runs")} assert "skipped_count" in columns