Files
notifications-api/migrations/versions/0379_remove_broadcasts.py
2024-04-01 15:12:33 -07:00

337 lines
12 KiB
Python

"""
Revision ID: 0379_remove_broadcasts
Revises: 0378_add_org_names
Create Date: 2022-10-25 14:41:29.429928
"""
import psycopg2
import sqlalchemy as sa
from alembic import op
from sqlalchemy.dialects import postgresql
revision = "0379_remove_broadcasts"
down_revision = "0378_add_org_names"
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_table("broadcast_provider_message_number")
op.drop_table("broadcast_provider_message_status_type")
op.drop_table("service_broadcast_settings")
op.drop_table("broadcast_provider_types")
op.drop_table("broadcast_provider_message")
op.drop_table("broadcast_event")
op.drop_table("broadcast_message")
op.drop_table("broadcast_status_type")
op.drop_table("broadcast_channel_types")
op.drop_table("service_broadcast_provider_restriction")
op.drop_column("templates", "broadcast_data")
op.drop_column("templates_history", "broadcast_data")
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.add_column(
"templates_history",
sa.Column(
"broadcast_data",
postgresql.JSONB(astext_type=sa.Text()),
autoincrement=False,
nullable=True,
),
)
op.add_column(
"templates",
sa.Column(
"broadcast_data",
postgresql.JSONB(astext_type=sa.Text()),
autoincrement=False,
nullable=True,
),
)
op.create_table(
"service_broadcast_provider_restriction",
sa.Column("service_id", postgresql.UUID(), autoincrement=False, nullable=False),
sa.Column("provider", sa.VARCHAR(), autoincrement=False, nullable=False),
sa.Column(
"created_at", postgresql.TIMESTAMP(), autoincrement=False, nullable=False
),
sa.ForeignKeyConstraint(
["service_id"],
["services.id"],
name="service_broadcast_provider_restriction_service_id_fkey",
),
sa.PrimaryKeyConstraint(
"service_id", name="service_broadcast_provider_restriction_pkey"
),
)
op.create_table(
"broadcast_channel_types",
sa.Column("name", sa.VARCHAR(length=255), autoincrement=False, nullable=False),
sa.PrimaryKeyConstraint("name", name="broadcast_channel_types_pkey"),
postgresql_ignore_search_path=False,
)
op.create_table(
"broadcast_status_type",
sa.Column("name", sa.VARCHAR(), autoincrement=False, nullable=False),
sa.PrimaryKeyConstraint("name", name="broadcast_status_type_pkey"),
postgresql_ignore_search_path=False,
)
op.create_table(
"service_broadcast_settings",
sa.Column("service_id", postgresql.UUID(), autoincrement=False, nullable=False),
sa.Column(
"channel", sa.VARCHAR(length=255), autoincrement=False, nullable=False
),
sa.Column(
"created_at", postgresql.TIMESTAMP(), autoincrement=False, nullable=False
),
sa.Column(
"updated_at", postgresql.TIMESTAMP(), autoincrement=False, nullable=True
),
sa.Column("provider", sa.VARCHAR(), autoincrement=False, nullable=False),
sa.ForeignKeyConstraint(
["channel"],
["broadcast_channel_types.name"],
name="service_broadcast_settings_channel_fkey",
),
sa.ForeignKeyConstraint(
["provider"],
["broadcast_provider_types.name"],
name="service_broadcast_settings_provider_fkey",
),
sa.ForeignKeyConstraint(
["service_id"],
["services.id"],
name="service_broadcast_settings_service_id_fkey",
),
sa.PrimaryKeyConstraint("service_id", name="service_broadcast_settings_pkey"),
)
op.create_table(
"broadcast_event",
sa.Column("id", postgresql.UUID(), autoincrement=False, nullable=False),
sa.Column("service_id", postgresql.UUID(), autoincrement=False, nullable=True),
sa.Column(
"broadcast_message_id",
postgresql.UUID(),
autoincrement=False,
nullable=False,
),
sa.Column(
"sent_at", postgresql.TIMESTAMP(), autoincrement=False, nullable=False
),
sa.Column("message_type", sa.VARCHAR(), autoincrement=False, nullable=False),
sa.Column(
"transmitted_content",
postgresql.JSONB(astext_type=sa.Text()),
autoincrement=False,
nullable=True,
),
sa.Column(
"transmitted_areas",
postgresql.JSONB(astext_type=sa.Text()),
autoincrement=False,
nullable=False,
),
sa.Column(
"transmitted_sender", sa.VARCHAR(), autoincrement=False, nullable=False
),
sa.Column(
"transmitted_starts_at",
postgresql.TIMESTAMP(),
autoincrement=False,
nullable=True,
),
sa.Column(
"transmitted_finishes_at",
postgresql.TIMESTAMP(),
autoincrement=False,
nullable=True,
),
sa.ForeignKeyConstraint(
["broadcast_message_id"],
["broadcast_message.id"],
name="broadcast_event_broadcast_message_id_fkey",
),
sa.ForeignKeyConstraint(
["service_id"], ["services.id"], name="broadcast_event_service_id_fkey"
),
sa.PrimaryKeyConstraint("id", name="broadcast_event_pkey"),
postgresql_ignore_search_path=False,
)
op.create_table(
"broadcast_message",
sa.Column("id", postgresql.UUID(), autoincrement=False, nullable=False),
sa.Column("service_id", postgresql.UUID(), autoincrement=False, nullable=True),
sa.Column("template_id", postgresql.UUID(), autoincrement=False, nullable=True),
sa.Column("template_version", sa.INTEGER(), autoincrement=False, nullable=True),
sa.Column("_personalisation", sa.VARCHAR(), autoincrement=False, nullable=True),
sa.Column(
"areas",
postgresql.JSONB(astext_type=sa.Text()),
autoincrement=False,
nullable=False,
),
sa.Column("status", sa.VARCHAR(), autoincrement=False, nullable=False),
sa.Column(
"starts_at", postgresql.TIMESTAMP(), autoincrement=False, nullable=True
),
sa.Column(
"finishes_at", postgresql.TIMESTAMP(), autoincrement=False, nullable=True
),
sa.Column(
"created_at", postgresql.TIMESTAMP(), autoincrement=False, nullable=False
),
sa.Column(
"approved_at", postgresql.TIMESTAMP(), autoincrement=False, nullable=True
),
sa.Column(
"cancelled_at", postgresql.TIMESTAMP(), autoincrement=False, nullable=True
),
sa.Column(
"updated_at", postgresql.TIMESTAMP(), autoincrement=False, nullable=True
),
sa.Column(
"created_by_id", postgresql.UUID(), autoincrement=False, nullable=True
),
sa.Column(
"approved_by_id", postgresql.UUID(), autoincrement=False, nullable=True
),
sa.Column(
"cancelled_by_id", postgresql.UUID(), autoincrement=False, nullable=True
),
sa.Column("content", sa.TEXT(), autoincrement=False, nullable=True),
sa.Column(
"reference", sa.VARCHAR(length=255), autoincrement=False, nullable=True
),
sa.Column("stubbed", sa.BOOLEAN(), autoincrement=False, nullable=False),
sa.Column(
"cap_event", sa.VARCHAR(length=255), autoincrement=False, nullable=True
),
sa.Column(
"created_by_api_key_id",
postgresql.UUID(),
autoincrement=False,
nullable=True,
),
sa.Column(
"cancelled_by_api_key_id",
postgresql.UUID(),
autoincrement=False,
nullable=True,
),
sa.CheckConstraint(
"(created_by_id IS NOT NULL) OR (created_by_api_key_id IS NOT NULL)",
name="ck_broadcast_message_created_by_not_null",
),
sa.ForeignKeyConstraint(
["approved_by_id"],
["users.id"],
name="broadcast_message_approved_by_id_fkey",
),
sa.ForeignKeyConstraint(
["cancelled_by_api_key_id"],
["api_keys.id"],
name="broadcast_message_cancelled_by_api_key_id_fkey",
),
sa.ForeignKeyConstraint(
["cancelled_by_id"],
["users.id"],
name="broadcast_message_cancelled_by_id_fkey",
),
sa.ForeignKeyConstraint(
["created_by_api_key_id"],
["api_keys.id"],
name="broadcast_message_created_by_api_key_id_fkey",
),
sa.ForeignKeyConstraint(
["created_by_id"], ["users.id"], name="broadcast_message_created_by_id_fkey"
),
sa.ForeignKeyConstraint(
["service_id"], ["services.id"], name="broadcast_message_service_id_fkey"
),
sa.ForeignKeyConstraint(
["status"],
["broadcast_status_type.name"],
name="broadcast_message_status_fkey",
),
sa.ForeignKeyConstraint(
["template_id", "template_version"],
["templates_history.id", "templates_history.version"],
name="broadcast_message_template_id_template_version_fkey",
),
sa.PrimaryKeyConstraint("id", name="broadcast_message_pkey"),
postgresql_ignore_search_path=False,
)
op.create_table(
"broadcast_provider_message",
sa.Column("id", postgresql.UUID(), autoincrement=False, nullable=False),
sa.Column(
"broadcast_event_id", postgresql.UUID(), autoincrement=False, nullable=True
),
sa.Column("provider", sa.VARCHAR(), autoincrement=False, nullable=True),
sa.Column("status", sa.VARCHAR(), autoincrement=False, nullable=True),
sa.Column(
"created_at", postgresql.TIMESTAMP(), autoincrement=False, nullable=False
),
sa.Column(
"updated_at", postgresql.TIMESTAMP(), autoincrement=False, nullable=True
),
sa.ForeignKeyConstraint(
["broadcast_event_id"],
["broadcast_event.id"],
name="broadcast_provider_message_broadcast_event_id_fkey",
),
sa.PrimaryKeyConstraint("id", name="broadcast_provider_message_pkey"),
sa.UniqueConstraint(
"broadcast_event_id",
"provider",
name="broadcast_provider_message_broadcast_event_id_provider_key",
),
postgresql_ignore_search_path=False,
)
op.create_table(
"broadcast_provider_types",
sa.Column("name", sa.VARCHAR(length=255), autoincrement=False, nullable=False),
sa.PrimaryKeyConstraint("name", name="broadcast_provider_types_pkey"),
)
op.create_table(
"broadcast_provider_message_status_type",
sa.Column("name", sa.VARCHAR(), autoincrement=False, nullable=False),
sa.PrimaryKeyConstraint(
"name", name="broadcast_provider_message_status_type_pkey"
),
)
op.create_table(
"broadcast_provider_message_number",
sa.Column(
"broadcast_provider_message_number",
sa.INTEGER(),
server_default=sa.text(
"nextval('broadcast_provider_message_number_seq'::regclass)"
),
autoincrement=True,
nullable=False,
),
sa.Column(
"broadcast_provider_message_id",
postgresql.UUID(),
autoincrement=False,
nullable=False,
),
sa.ForeignKeyConstraint(
["broadcast_provider_message_id"],
["broadcast_provider_message.id"],
name="broadcast_provider_message_nu_broadcast_provider_message_i_fkey",
),
sa.PrimaryKeyConstraint(
"broadcast_provider_message_number",
name="broadcast_provider_message_number_pkey",
),
)
# ### end Alembic commands ###