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

90 lines
2.4 KiB
Python

"""
Revision ID: 0128_noti_to_sms_sender
Revises: 0127_remove_unique_constraint
Create Date: 2017-10-26 15:17:00.752706
"""
import sqlalchemy as sa
from alembic import op
from sqlalchemy.dialects import postgresql
revision = "0128_noti_to_sms_sender"
down_revision = "0127_remove_unique_constraint"
def upgrade():
op.create_index(
op.f("ix_service_letter_contacts_service_id"),
"service_letter_contacts",
["service_id"],
unique=False,
)
op.drop_index(
"ix_service_letter_contact_service_id", table_name="service_letter_contacts"
)
op.create_index(
op.f("ix_service_sms_senders_service_id"),
"service_sms_senders",
["service_id"],
unique=False,
)
op.execute(
"ALTER TABLE templates_history ALTER COLUMN template_type TYPE template_type USING template_type::template_type"
)
# new table
op.create_table(
"notification_to_sms_sender",
sa.Column("notification_id", postgresql.UUID(as_uuid=True), nullable=False),
sa.Column(
"service_sms_sender_id", postgresql.UUID(as_uuid=True), nullable=False
),
sa.ForeignKeyConstraint(
["notification_id"],
["notifications.id"],
),
sa.ForeignKeyConstraint(
["service_sms_sender_id"],
["service_sms_senders.id"],
),
sa.PrimaryKeyConstraint("notification_id", "service_sms_sender_id"),
)
op.create_index(
op.f("ix_notification_to_sms_sender_notification_id"),
"notification_to_sms_sender",
["notification_id"],
unique=True,
)
op.create_index(
op.f("ix_notification_to_sms_sender_service_sms_sender_id"),
"notification_to_sms_sender",
["service_sms_sender_id"],
unique=False,
)
def downgrade():
op.drop_index(
op.f("ix_service_sms_senders_service_id"), table_name="service_sms_senders"
)
op.create_index(
"ix_service_letter_contact_service_id",
"service_letter_contacts",
["service_id"],
unique=False,
)
op.drop_index(
op.f("ix_service_letter_contacts_service_id"),
table_name="service_letter_contacts",
)
op.alter_column(
"templates_history",
"template_type",
type_=sa.VARCHAR(),
existing_nullable=False,
)
op.drop_table("notification_to_sms_sender")