26 lines
1.1 KiB
Python
26 lines
1.1 KiB
Python
"""Register the official monthly ADP calendar source."""
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
|
|
revision = "f7a0bc354de2"
|
|
down_revision = "e6f9ab243cd1"
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
source = sa.table("sources", *[sa.column(key, kind) for key, kind in [
|
|
("code", sa.String), ("name", sa.String), ("list_url", sa.String), ("collector", sa.String),
|
|
("enabled", sa.Boolean), ("interval_seconds", sa.Integer), ("backfill_hours", sa.Integer),
|
|
("consecutive_failures", sa.Integer),
|
|
]])
|
|
op.bulk_insert(source, [{"code": "adp", "name": "ADP·月度私营就业报告",
|
|
"list_url": "https://mediacenter.adp.com/press-releases?keywords=National+Employment+Report",
|
|
"collector": "calendar", "enabled": True, "interval_seconds": 3600,
|
|
"backfill_hours": 72, "consecutive_failures": 0}])
|
|
|
|
|
|
def downgrade() -> None:
|
|
# Existing raw responses prevent source deletion through their foreign key.
|
|
op.execute("DELETE FROM sources WHERE code = 'adp'")
|