25 lines
1.1 KiB
Python
25 lines
1.1 KiB
Python
"""Persist realtime boundaries and enforce one active call per subject."""
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
|
|
revision = 'dd4567890123'
|
|
down_revision = 'dc3456789012'
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
|
|
def upgrade():
|
|
op.add_column('news_research_settings', sa.Column('realtime_from', sa.DateTime(timezone=True)))
|
|
op.add_column('news_research_events', sa.Column('realtime_pending', sa.Boolean(), nullable=False, server_default=sa.false()))
|
|
op.create_index('uq_news_attempt_active', 'news_research_attempts', ['package_id'], unique=True,
|
|
postgresql_where=sa.text("state = 'processing'"))
|
|
op.create_index('uq_news_version_active', 'news_research_versions', ['event_id'], unique=True,
|
|
postgresql_where=sa.text("state = 'processing'"))
|
|
|
|
|
|
def downgrade():
|
|
op.drop_index('uq_news_version_active', table_name='news_research_versions')
|
|
op.drop_index('uq_news_attempt_active', table_name='news_research_attempts')
|
|
op.drop_column('news_research_events', 'realtime_pending')
|
|
op.drop_column('news_research_settings', 'realtime_from')
|