mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-06-12 20:45:20 +02:00
feat(migration): add etl_cache_parses table
This commit is contained in:
parent
0dc2ccc003
commit
d898716cf4
1 changed files with 53 additions and 0 deletions
|
|
@ -0,0 +1,53 @@
|
|||
"""add etl_cache_parses table for content-addressed parse reuse
|
||||
|
||||
Revision ID: 160
|
||||
Revises: 159
|
||||
"""
|
||||
|
||||
from collections.abc import Sequence
|
||||
|
||||
from alembic import op
|
||||
|
||||
revision: str = "160"
|
||||
down_revision: str | None = "159"
|
||||
branch_labels: str | Sequence[str] | None = None
|
||||
depends_on: str | Sequence[str] | None = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
op.execute(
|
||||
"""
|
||||
CREATE TABLE IF NOT EXISTS etl_cache_parses (
|
||||
id SERIAL PRIMARY KEY,
|
||||
source_sha256 VARCHAR(64) NOT NULL,
|
||||
etl_service VARCHAR(32) NOT NULL,
|
||||
mode VARCHAR(16) NOT NULL,
|
||||
parser_version INTEGER NOT NULL,
|
||||
storage_backend VARCHAR(32) NOT NULL,
|
||||
storage_key TEXT NOT NULL,
|
||||
size_bytes BIGINT NOT NULL,
|
||||
content_type VARCHAR(32) NOT NULL,
|
||||
actual_pages INTEGER NOT NULL DEFAULT 0,
|
||||
times_reused BIGINT NOT NULL DEFAULT 0,
|
||||
last_used_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW(),
|
||||
CONSTRAINT uq_etl_cache_parses_key
|
||||
UNIQUE (source_sha256, etl_service, mode, parser_version)
|
||||
);
|
||||
"""
|
||||
)
|
||||
|
||||
op.execute(
|
||||
"CREATE INDEX IF NOT EXISTS ix_etl_cache_parses_last_used_at "
|
||||
"ON etl_cache_parses(last_used_at);"
|
||||
)
|
||||
op.execute(
|
||||
"CREATE INDEX IF NOT EXISTS ix_etl_cache_parses_created_at "
|
||||
"ON etl_cache_parses(created_at);"
|
||||
)
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
op.execute("DROP INDEX IF EXISTS ix_etl_cache_parses_created_at;")
|
||||
op.execute("DROP INDEX IF EXISTS ix_etl_cache_parses_last_used_at;")
|
||||
op.execute("DROP TABLE IF EXISTS etl_cache_parses;")
|
||||
Loading…
Add table
Add a link
Reference in a new issue