mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-09 06:32:11 -05:00
More cleanup of migration.
Signed-off-by: Cliff Hill <Clifford.hill@gsa.gov>
This commit is contained in:
@@ -7,6 +7,7 @@ Create Date: 2024-01-18 12:34:32.857422
|
||||
"""
|
||||
from enum import Enum
|
||||
from typing import TypedDict
|
||||
|
||||
import sqlalchemy as sa
|
||||
from alembic import op
|
||||
from sqlalchemy.dialects import postgresql
|
||||
@@ -15,6 +16,7 @@ from app.enums import (
|
||||
AuthType,
|
||||
BrandType,
|
||||
CallbackType,
|
||||
CodeType,
|
||||
InvitedUserStatus,
|
||||
JobStatus,
|
||||
KeyType,
|
||||
@@ -111,8 +113,9 @@ _enum_params: dict[Enum, EnumValues] = {
|
||||
TemplateType: {"values": ["sms", "email", "letter"], "name": "template_types"},
|
||||
TemplateProcessType: {
|
||||
"values": ["normal", "priority"],
|
||||
"name": "template_process_types"
|
||||
"name": "template_process_types",
|
||||
},
|
||||
CodeType: {"values": ["email", "sms"], "name": "code_types"},
|
||||
}
|
||||
|
||||
|
||||
@@ -165,9 +168,6 @@ def upgrade():
|
||||
op.drop_constraint(
|
||||
"templates_history_process_type_fkey", "templates_history", type_="foreignkey"
|
||||
)
|
||||
op.drop_constraint(
|
||||
"uix_user_to_organisation", "user_to_organization", type_="unique"
|
||||
)
|
||||
op.drop_constraint("users_auth_type_fkey", "users", type_="foreignkey")
|
||||
|
||||
# Drop composite indexes
|
||||
@@ -175,8 +175,6 @@ def upgrade():
|
||||
op.drop_index(
|
||||
"ix_notifications_notification_type_composite", table_name="notifications"
|
||||
)
|
||||
op.drop_index("ix_services_organisation_id", table_name="services")
|
||||
op.drop_index("ix_services_history_organisation_id", table_name="services_history")
|
||||
|
||||
# drop old "helper" tables
|
||||
op.drop_table("template_process_type")
|
||||
@@ -248,8 +246,8 @@ def upgrade():
|
||||
existing_nullable=False,
|
||||
)
|
||||
op.alter_column(
|
||||
'notification_history',
|
||||
'notification_status',
|
||||
"notification_history",
|
||||
"notification_status",
|
||||
existing_type=sa.TEXT(),
|
||||
type_=enum_type(NotificationStatus),
|
||||
existing_nullable=True,
|
||||
@@ -271,8 +269,8 @@ def upgrade():
|
||||
existing_nullable=False,
|
||||
)
|
||||
op.alter_column(
|
||||
'notifications',
|
||||
'notification_status',
|
||||
"notifications",
|
||||
"notification_status",
|
||||
existing_type=sa.TEXT(),
|
||||
type_=enum_type(NotificationStatus),
|
||||
existing_nullable=True,
|
||||
@@ -321,13 +319,6 @@ def upgrade():
|
||||
type_=enum_type(NotificationType),
|
||||
existing_nullable=False,
|
||||
)
|
||||
op.alter_column(
|
||||
"rates",
|
||||
"rate",
|
||||
existing_type=sa.NUMERIC(),
|
||||
type_=sa.Float(),
|
||||
existing_nullable=False,
|
||||
)
|
||||
op.alter_column(
|
||||
"rates",
|
||||
"notification_type",
|
||||
@@ -367,13 +358,6 @@ def upgrade():
|
||||
type_=enum_type(ServicePermissionType),
|
||||
existing_nullable=False,
|
||||
)
|
||||
op.alter_column(
|
||||
"service_sms_senders",
|
||||
"sms_sender",
|
||||
existing_type=sa.VARCHAR(length=255),
|
||||
type_=sa.String(length=11),
|
||||
existing_nullable=False,
|
||||
)
|
||||
op.alter_column(
|
||||
"service_whitelist",
|
||||
"recipient_type",
|
||||
@@ -381,13 +365,6 @@ def upgrade():
|
||||
type_=enum_type(RecipientType),
|
||||
existing_nullable=False,
|
||||
)
|
||||
op.alter_column(
|
||||
"services",
|
||||
"total_message_limit",
|
||||
existing_type=sa.INTEGER(),
|
||||
type_=sa.BigInteger(),
|
||||
nullable=False,
|
||||
)
|
||||
op.alter_column(
|
||||
"services",
|
||||
"organization_type",
|
||||
@@ -395,16 +372,6 @@ def upgrade():
|
||||
type_=enum_type(OrganizationType),
|
||||
existing_nullable=True,
|
||||
)
|
||||
op.alter_column(
|
||||
"services_history",
|
||||
"total_message_limit",
|
||||
existing_type=sa.INTEGER(),
|
||||
type_=sa.BigInteger(),
|
||||
nullable=False,
|
||||
)
|
||||
op.alter_column(
|
||||
"services_history", "prefix_sms", existing_type=sa.BOOLEAN(), nullable=False
|
||||
)
|
||||
op.alter_column(
|
||||
"services_history",
|
||||
"organization_type",
|
||||
@@ -444,12 +411,6 @@ def upgrade():
|
||||
type_=enum_type(TemplateProcessType),
|
||||
existing_nullable=False,
|
||||
)
|
||||
op.alter_column(
|
||||
"user_to_service", "user_id", existing_type=postgresql.UUID(), nullable=False
|
||||
)
|
||||
op.alter_column(
|
||||
"user_to_service", "service_id", existing_type=postgresql.UUID(), nullable=False
|
||||
)
|
||||
op.alter_column(
|
||||
"users",
|
||||
"auth_type",
|
||||
@@ -462,7 +423,7 @@ def upgrade():
|
||||
"verify_codes",
|
||||
"code_type",
|
||||
existing_type=postgresql.ENUM("email", "sms", name="verify_code_types"),
|
||||
type_=sa.Enum("email", "sms", name="code_types"),
|
||||
type_=enum_type(CodeType),
|
||||
existing_nullable=False,
|
||||
)
|
||||
|
||||
@@ -479,34 +440,121 @@ def upgrade():
|
||||
["notification_type", "status", "created_at"],
|
||||
unique=False,
|
||||
)
|
||||
op.create_index(
|
||||
op.f("ix_services_organization_id"),
|
||||
"services",
|
||||
["organization_id"],
|
||||
unique=False,
|
||||
)
|
||||
op.create_index(
|
||||
op.f("ix_services_history_organization_id"),
|
||||
"services_history",
|
||||
["organization_id"],
|
||||
unique=False,
|
||||
)
|
||||
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
# Recreate foreign keys
|
||||
op.create_foreign_key(
|
||||
"users_auth_type_fkey", "users", "auth_type", ["auth_type"], ["name"]
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"templates_history_process_type_fkey",
|
||||
"templates_history",
|
||||
"template_process_type",
|
||||
["process_type"],
|
||||
["name"],
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"templates_process_type_fkey",
|
||||
"templates",
|
||||
"template_process_type",
|
||||
["process_type"],
|
||||
["name"],
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"services_organisation_type_fkey",
|
||||
"services",
|
||||
"organization_types",
|
||||
["organization_type"],
|
||||
["name"],
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"service_permissions_permission_fkey",
|
||||
"service_permissions",
|
||||
"service_permission_types",
|
||||
["permission"],
|
||||
["name"],
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"service_callback_api_type_fk",
|
||||
"service_callback_api",
|
||||
"service_callback_type",
|
||||
["callback_type"],
|
||||
["name"],
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"organisation_organisation_type_fkey",
|
||||
"organization",
|
||||
"organization_types",
|
||||
["organization_type"],
|
||||
["name"],
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"fk_notifications_notification_status",
|
||||
"notifications",
|
||||
"notification_status_types",
|
||||
["notification_status"],
|
||||
["name"],
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"notifications_key_type_fkey",
|
||||
"notifications",
|
||||
"key_types",
|
||||
["key_type"],
|
||||
["name"],
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"fk_notification_history_notification_status",
|
||||
"notification_history",
|
||||
"notification_status_types",
|
||||
["notification_status"],
|
||||
["name"],
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"notification_history_key_type_fkey",
|
||||
"notification_history",
|
||||
"key_types",
|
||||
["key_type"],
|
||||
["name"],
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"jobs_job_status_fkey", "jobs", "job_status", ["job_status"], ["name"]
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"invited_users_auth_type_fkey",
|
||||
"invited_users",
|
||||
"auth_type",
|
||||
["auth_type"],
|
||||
["name"],
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"invited_organisation_users_status_fkey",
|
||||
"invited_organization_users",
|
||||
"invite_status_type",
|
||||
["status"],
|
||||
["name"],
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"email_branding_brand_type_fkey",
|
||||
"email_branding",
|
||||
"branding_type",
|
||||
["brand_type"],
|
||||
["name"],
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"api_keys_key_type_fkey", "api_keys", "key_types", ["key_type"], ["name"]
|
||||
)
|
||||
|
||||
# Alter columns back
|
||||
op.alter_column(
|
||||
"verify_codes",
|
||||
"code_type",
|
||||
existing_type=sa.Enum("email", "sms", name="code_types"),
|
||||
existing_type=enum_type(CodeType),
|
||||
type_=postgresql.ENUM("email", "sms", name="verify_code_types"),
|
||||
existing_nullable=False,
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"users_auth_type_fkey", "users", "auth_type", ["auth_type"], ["name"]
|
||||
)
|
||||
op.alter_column(
|
||||
"users",
|
||||
"auth_type",
|
||||
@@ -515,27 +563,6 @@ def downgrade():
|
||||
existing_nullable=False,
|
||||
existing_server_default=sa.text("'sms_auth'::character varying"),
|
||||
)
|
||||
op.alter_column(
|
||||
"user_to_service", "service_id", existing_type=postgresql.UUID(), nullable=True
|
||||
)
|
||||
op.alter_column(
|
||||
"user_to_service", "user_id", existing_type=postgresql.UUID(), nullable=True
|
||||
)
|
||||
op.drop_constraint(
|
||||
"uix_user_to_organization", "user_to_organization", type_="unique"
|
||||
)
|
||||
op.create_unique_constraint(
|
||||
"uix_user_to_organisation",
|
||||
"user_to_organization",
|
||||
["user_id", "organization_id"],
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"templates_history_process_type_fkey",
|
||||
"templates_history",
|
||||
"template_process_type",
|
||||
["process_type"],
|
||||
["name"],
|
||||
)
|
||||
op.alter_column(
|
||||
"templates_history",
|
||||
"process_type",
|
||||
@@ -552,13 +579,6 @@ def downgrade():
|
||||
),
|
||||
existing_nullable=False,
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"templates_process_type_fkey",
|
||||
"templates",
|
||||
"template_process_type",
|
||||
["process_type"],
|
||||
["name"],
|
||||
)
|
||||
op.alter_column(
|
||||
"templates",
|
||||
"process_type",
|
||||
@@ -575,15 +595,6 @@ def downgrade():
|
||||
),
|
||||
existing_nullable=False,
|
||||
)
|
||||
op.drop_index(
|
||||
op.f("ix_services_history_organization_id"), table_name="services_history"
|
||||
)
|
||||
op.create_index(
|
||||
"ix_services_history_organisation_id",
|
||||
"services_history",
|
||||
["organization_id"],
|
||||
unique=False,
|
||||
)
|
||||
op.alter_column(
|
||||
"services_history",
|
||||
"organization_type",
|
||||
@@ -591,27 +602,6 @@ def downgrade():
|
||||
type_=sa.VARCHAR(length=255),
|
||||
existing_nullable=True,
|
||||
)
|
||||
op.alter_column(
|
||||
"services_history", "prefix_sms", existing_type=sa.BOOLEAN(), nullable=True
|
||||
)
|
||||
op.alter_column(
|
||||
"services_history",
|
||||
"total_message_limit",
|
||||
existing_type=sa.BigInteger(),
|
||||
type_=sa.INTEGER(),
|
||||
nullable=True,
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"services_organisation_type_fkey",
|
||||
"services",
|
||||
"organization_types",
|
||||
["organization_type"],
|
||||
["name"],
|
||||
)
|
||||
op.drop_index(op.f("ix_services_organization_id"), table_name="services")
|
||||
op.create_index(
|
||||
"ix_services_organisation_id", "services", ["organization_id"], unique=False
|
||||
)
|
||||
op.alter_column(
|
||||
"services",
|
||||
"organization_type",
|
||||
@@ -619,13 +609,6 @@ def downgrade():
|
||||
type_=sa.VARCHAR(length=255),
|
||||
existing_nullable=True,
|
||||
)
|
||||
op.alter_column(
|
||||
"services",
|
||||
"total_message_limit",
|
||||
existing_type=sa.BigInteger(),
|
||||
type_=sa.INTEGER(),
|
||||
nullable=True,
|
||||
)
|
||||
op.alter_column(
|
||||
"service_whitelist",
|
||||
"recipient_type",
|
||||
@@ -633,20 +616,6 @@ def downgrade():
|
||||
type_=postgresql.ENUM("mobile", "email", name="recipient_type"),
|
||||
existing_nullable=False,
|
||||
)
|
||||
op.alter_column(
|
||||
"service_sms_senders",
|
||||
"sms_sender",
|
||||
existing_type=sa.String(length=11),
|
||||
type_=sa.VARCHAR(length=255),
|
||||
existing_nullable=False,
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"service_permissions_permission_fkey",
|
||||
"service_permissions",
|
||||
"service_permission_types",
|
||||
["permission"],
|
||||
["name"],
|
||||
)
|
||||
op.alter_column(
|
||||
"service_permissions",
|
||||
"permission",
|
||||
@@ -668,13 +637,6 @@ def downgrade():
|
||||
type_=sa.VARCHAR(),
|
||||
existing_nullable=True,
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"service_callback_api_type_fk",
|
||||
"service_callback_api",
|
||||
"service_callback_type",
|
||||
["callback_type"],
|
||||
["name"],
|
||||
)
|
||||
op.alter_column(
|
||||
"service_callback_api",
|
||||
"callback_type",
|
||||
@@ -689,13 +651,6 @@ def downgrade():
|
||||
type_=postgresql.ENUM("email", "sms", "letter", name="notification_type"),
|
||||
existing_nullable=False,
|
||||
)
|
||||
op.alter_column(
|
||||
"rates",
|
||||
"rate",
|
||||
existing_type=sa.Float(),
|
||||
type_=sa.NUMERIC(),
|
||||
existing_nullable=False,
|
||||
)
|
||||
op.alter_column(
|
||||
"provider_details_history",
|
||||
"notification_type",
|
||||
@@ -710,13 +665,6 @@ def downgrade():
|
||||
type_=postgresql.ENUM("email", "sms", "letter", name="notification_type"),
|
||||
existing_nullable=False,
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"organisation_organisation_type_fkey",
|
||||
"organization",
|
||||
"organization_types",
|
||||
["organization_type"],
|
||||
["name"],
|
||||
)
|
||||
op.alter_column(
|
||||
"organization",
|
||||
"organization_type",
|
||||
@@ -725,48 +673,11 @@ def downgrade():
|
||||
existing_nullable=True,
|
||||
)
|
||||
op.alter_column(
|
||||
'notifications',
|
||||
'notification_status',
|
||||
"notifications",
|
||||
"notification_status",
|
||||
existing_type=enum_type(NotificationStatus),
|
||||
type_=sa.TEXT(),
|
||||
existing_nullable=True
|
||||
)
|
||||
op.add_column(
|
||||
"notifications",
|
||||
sa.Column("queue_name", sa.TEXT(), autoincrement=False, nullable=True),
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"fk_notifications_notification_status",
|
||||
"notifications",
|
||||
"notification_status_types",
|
||||
["notification_status"],
|
||||
["name"],
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"notifications_key_type_fkey",
|
||||
"notifications",
|
||||
"key_types",
|
||||
["key_type"],
|
||||
["name"],
|
||||
)
|
||||
op.drop_index("ix_notifications_service_id_composite", table_name="notifications")
|
||||
op.create_index(
|
||||
"ix_notifications_service_id_composite",
|
||||
"notifications",
|
||||
["service_id", "notification_type", "notification_status", "created_at"],
|
||||
unique=False,
|
||||
)
|
||||
op.drop_index(
|
||||
"ix_notifications_notification_type_composite", table_name="notifications"
|
||||
)
|
||||
op.create_index(
|
||||
"ix_notifications_notification_type_composite",
|
||||
"notifications",
|
||||
["notification_type", "notification_status", "created_at"],
|
||||
unique=False,
|
||||
)
|
||||
op.alter_column(
|
||||
"notifications", "international", existing_type=sa.BOOLEAN(), nullable=True
|
||||
existing_nullable=True,
|
||||
)
|
||||
op.alter_column(
|
||||
"notifications",
|
||||
@@ -783,30 +694,11 @@ def downgrade():
|
||||
existing_nullable=False,
|
||||
)
|
||||
op.alter_column(
|
||||
'notification_history',
|
||||
'notification_status',
|
||||
"notification_history",
|
||||
"notification_status",
|
||||
existing_type=enum_type(NotificationStatus),
|
||||
type_=sa.TEXT(),
|
||||
existing_nullable=True
|
||||
)
|
||||
|
||||
op.add_column(
|
||||
"notification_history",
|
||||
sa.Column("carrier", sa.TEXT(), autoincrement=False, nullable=True),
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"fk_notification_history_notification_status",
|
||||
"notification_history",
|
||||
"notification_status_types",
|
||||
["notification_status"],
|
||||
["name"],
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"notification_history_key_type_fkey",
|
||||
"notification_history",
|
||||
"key_types",
|
||||
["key_type"],
|
||||
["name"],
|
||||
existing_nullable=True,
|
||||
)
|
||||
op.alter_column(
|
||||
"notification_history",
|
||||
@@ -822,9 +714,6 @@ def downgrade():
|
||||
type_=sa.VARCHAR(),
|
||||
existing_nullable=False,
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"jobs_job_status_fkey", "jobs", "job_status", ["job_status"], ["name"]
|
||||
)
|
||||
op.alter_column(
|
||||
"jobs",
|
||||
"job_status",
|
||||
@@ -832,13 +721,6 @@ def downgrade():
|
||||
type_=sa.VARCHAR(length=255),
|
||||
existing_nullable=False,
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"invited_users_auth_type_fkey",
|
||||
"invited_users",
|
||||
"auth_type",
|
||||
["auth_type"],
|
||||
["name"],
|
||||
)
|
||||
op.alter_column(
|
||||
"invited_users",
|
||||
"auth_type",
|
||||
@@ -860,13 +742,6 @@ def downgrade():
|
||||
),
|
||||
existing_nullable=False,
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"invited_organisation_users_status_fkey",
|
||||
"invited_organization_users",
|
||||
"invite_status_type",
|
||||
["status"],
|
||||
["name"],
|
||||
)
|
||||
op.alter_column(
|
||||
"invited_organization_users",
|
||||
"status",
|
||||
@@ -874,16 +749,6 @@ def downgrade():
|
||||
type_=sa.VARCHAR(),
|
||||
existing_nullable=False,
|
||||
)
|
||||
op.drop_index(
|
||||
op.f("ix_inbound_sms_history_created_at"), table_name="inbound_sms_history"
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"email_branding_brand_type_fkey",
|
||||
"email_branding",
|
||||
"branding_type",
|
||||
["brand_type"],
|
||||
["name"],
|
||||
)
|
||||
op.alter_column(
|
||||
"email_branding",
|
||||
"brand_type",
|
||||
@@ -898,9 +763,6 @@ def downgrade():
|
||||
type_=sa.VARCHAR(length=255),
|
||||
existing_nullable=False,
|
||||
)
|
||||
op.create_foreign_key(
|
||||
"api_keys_key_type_fkey", "api_keys", "key_types", ["key_type"], ["name"]
|
||||
)
|
||||
op.alter_column(
|
||||
"api_keys",
|
||||
"key_type",
|
||||
@@ -908,24 +770,26 @@ def downgrade():
|
||||
type_=sa.VARCHAR(length=255),
|
||||
existing_nullable=False,
|
||||
)
|
||||
op.drop_constraint(None, "agreements", type_="foreignkey")
|
||||
op.drop_index(op.f("ix_agreements_url"), table_name="agreements")
|
||||
op.drop_index(op.f("ix_agreements_partner_name"), table_name="agreements")
|
||||
op.alter_column(
|
||||
"agreements", "organization_id", existing_type=postgresql.UUID(), nullable=False
|
||||
|
||||
# Composite Index stuff
|
||||
op.drop_index("ix_notifications_service_id_composite", table_name="notifications")
|
||||
op.create_index(
|
||||
"ix_notifications_service_id_composite",
|
||||
"notifications",
|
||||
["service_id", "notification_type", "notification_status", "created_at"],
|
||||
unique=False,
|
||||
)
|
||||
op.alter_column(
|
||||
"agreements",
|
||||
"budget_amount",
|
||||
existing_type=postgresql.DOUBLE_PRECISION(precision=53),
|
||||
nullable=False,
|
||||
op.drop_index(
|
||||
"ix_notifications_notification_type_composite", table_name="notifications"
|
||||
)
|
||||
op.alter_column(
|
||||
"agreements", "end_time", existing_type=postgresql.TIMESTAMP(), nullable=False
|
||||
)
|
||||
op.alter_column(
|
||||
"agreements", "start_time", existing_type=postgresql.TIMESTAMP(), nullable=False
|
||||
op.create_index(
|
||||
"ix_notifications_notification_type_composite",
|
||||
"notifications",
|
||||
["notification_type", "notification_status", "created_at"],
|
||||
unique=False,
|
||||
)
|
||||
|
||||
# Recreate helper tables
|
||||
op.create_table(
|
||||
"service_permission_types",
|
||||
sa.Column("name", sa.VARCHAR(length=255), autoincrement=False, nullable=False),
|
||||
@@ -982,5 +846,3 @@ def downgrade():
|
||||
sa.Column("name", sa.VARCHAR(length=255), autoincrement=False, nullable=False),
|
||||
sa.PrimaryKeyConstraint("name", name="template_process_type_pkey"),
|
||||
)
|
||||
op.drop_table("notifications_all_time_view")
|
||||
# ### end Alembic commands ###
|
||||
|
||||
Reference in New Issue
Block a user