Files
onGuard24/alembic/versions/001_initial_ingress_events.py
Alexandr 85eb61b576 v1.1.0: Alembic, pytest, домен и документация
- Миграции PostgreSQL через Alembic; DDL убран из lifespan приложения.
- Тесты: health, status, ingress Grafana; моки Vault/Grafana/Forgejo.
- Пакет onguard24/domain/ (сущности, шина событий), docs/DOMAIN.md.
- Обновлены README, CHANGELOG, ARCHITECTURE.

Made-with: Cursor
2026-04-03 08:36:35 +03:00

41 lines
955 B
Python

"""initial ingress_events
Revision ID: 001_initial
Revises:
Create Date: 2026-04-03
"""
from typing import Sequence, Union
from alembic import op
revision: str = "001_initial"
down_revision: Union[str, None] = None
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
op.execute(
"""
CREATE TABLE IF NOT EXISTS ingress_events (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
source text NOT NULL,
received_at timestamptz NOT NULL DEFAULT now(),
body jsonb NOT NULL
);
"""
)
op.execute(
"""
CREATE INDEX IF NOT EXISTS ingress_events_received_at_idx
ON ingress_events (received_at DESC);
"""
)
def downgrade() -> None:
op.execute("DROP INDEX IF EXISTS ingress_events_received_at_idx;")
op.execute("DROP TABLE IF EXISTS ingress_events;")