mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-10 15:22:24 -05:00
74 lines
2.0 KiB
Python
74 lines
2.0 KiB
Python
"""empty message
|
|
|
|
Revision ID: 0081_noti_status_as_enum
|
|
Revises: 0078_sent_notification_status
|
|
Create Date: 2017-05-02 14:50:04.070874
|
|
|
|
"""
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision = "0081_noti_status_as_enum"
|
|
down_revision = "0078_sent_notification_status"
|
|
|
|
import sqlalchemy as sa
|
|
from alembic import op
|
|
|
|
|
|
def upgrade():
|
|
status_table = op.create_table(
|
|
"notification_status_types",
|
|
sa.Column("name", sa.String(), nullable=False),
|
|
sa.PrimaryKeyConstraint("name"),
|
|
)
|
|
op.bulk_insert(
|
|
status_table,
|
|
[
|
|
{"name": x}
|
|
for x in {
|
|
"created",
|
|
"sending",
|
|
"delivered",
|
|
"pending",
|
|
"failed",
|
|
"technical-failure",
|
|
"temporary-failure",
|
|
"permanent-failure",
|
|
"sent",
|
|
}
|
|
],
|
|
)
|
|
|
|
op.execute("ALTER TABLE notifications ADD COLUMN notification_status text")
|
|
op.execute("ALTER TABLE notification_history ADD COLUMN notification_status text")
|
|
|
|
op.create_index(
|
|
op.f("ix_notifications_notification_status"),
|
|
"notifications",
|
|
["notification_status"],
|
|
)
|
|
op.create_index(
|
|
op.f("ix_notification_history_notification_status"),
|
|
"notification_history",
|
|
["notification_status"],
|
|
)
|
|
op.create_foreign_key(
|
|
"fk_notifications_notification_status",
|
|
"notifications",
|
|
"notification_status_types",
|
|
["notification_status"],
|
|
["name"],
|
|
)
|
|
op.create_foreign_key(
|
|
"fk_notification_history_notification_status",
|
|
"notification_history",
|
|
"notification_status_types",
|
|
["notification_status"],
|
|
["name"],
|
|
)
|
|
|
|
|
|
def downgrade():
|
|
op.execute("ALTER TABLE notifications DROP COLUMN notification_status")
|
|
op.execute("ALTER TABLE notification_history DROP COLUMN notification_status")
|
|
op.execute("DROP TABLE notification_status_types")
|