feat(news): restrict research to local sources and process frozen batches
This commit is contained in:
1 parent
d79a10c2e6
commit
89da4df785
28 files changed
+360
-409
No files matched your search
@@ -0,0 +1,33 @@
|
||||
"""Persist frozen two-stage research batches without rewriting research history."""
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
|
||||
revision = 'dc3456789012'
|
||||
down_revision = 'db2345678901'
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade():
|
||||
op.create_table('news_research_batches',
|
||||
sa.Column('id', sa.BigInteger(), primary_key=True),
|
||||
sa.Column('phase', sa.String(20), nullable=False),
|
||||
sa.Column('cutoff_at', sa.DateTime(timezone=True), nullable=False),
|
||||
sa.Column('finished_at', sa.DateTime(timezone=True), nullable=True))
|
||||
op.create_index('ix_news_research_batches_phase', 'news_research_batches', ['phase'])
|
||||
op.create_table('news_research_batch_packages',
|
||||
sa.Column('batch_id', sa.BigInteger(), sa.ForeignKey('news_research_batches.id'), primary_key=True),
|
||||
sa.Column('package_id', sa.BigInteger(), sa.ForeignKey('news_research_packages.id'), primary_key=True),
|
||||
sa.Column('content_hash', sa.String(64), nullable=False),
|
||||
sa.Column('state', sa.String(20), nullable=False))
|
||||
op.create_table('news_research_batch_events',
|
||||
sa.Column('batch_id', sa.BigInteger(), sa.ForeignKey('news_research_batches.id'), primary_key=True),
|
||||
sa.Column('event_id', sa.BigInteger(), sa.ForeignKey('news_research_events.id'), primary_key=True),
|
||||
sa.Column('revision', sa.Integer(), nullable=False),
|
||||
sa.Column('state', sa.String(20), nullable=False))
|
||||
|
||||
|
||||
def downgrade():
|
||||
op.drop_table('news_research_batch_events')
|
||||
op.drop_table('news_research_batch_packages')
|
||||
op.drop_table('news_research_batches')
|
||||
Reference in new issue
Block a user