"""empty message Revision ID: 0032_notification_created_status Revises: 0031_store_personalisation Create Date: 2016-06-21 11:29:28.963615 """ # revision identifiers, used by Alembic. revision = "0032_notification_created_status" down_revision = "0031_store_personalisation" import sqlalchemy as sa from alembic import op def upgrade(): ### commands auto generated by Alembic - please adjust! ### status_type = sa.Enum( "created", "sending", "delivered", "pending", "failed", "technical-failure", "temporary-failure", "permanent-failure", name="notify_status_type", ) status_type.create(op.get_bind()) op.add_column("notifications", sa.Column("new_status", status_type, nullable=True)) op.execute( "update notifications set new_status = CAST(CAST(status as text) as notify_status_type)" ) op.alter_column("notifications", "status", new_column_name="old_status") op.alter_column("notifications", "new_status", new_column_name="status") op.drop_column("notifications", "old_status") op.get_bind() op.execute("DROP TYPE notify_status_types") op.alter_column("notifications", "status", nullable=False) ### end Alembic commands ### def downgrade(): ### commands auto generated by Alembic - please adjust! ### status_type = sa.Enum( "sending", "delivered", "pending", "failed", "technical-failure", "temporary-failure", "permanent-failure", name="notify_status_types", ) status_type.create(op.get_bind()) op.add_column("notifications", sa.Column("old_status", status_type, nullable=True)) op.execute("update notifications set status = 'sending' where status = 'created'") op.execute( "update notifications set old_status = CAST(CAST(status as text) as notify_status_types)" ) op.alter_column("notifications", "status", new_column_name="new_status") op.alter_column("notifications", "old_status", new_column_name="status") op.drop_column("notifications", "new_status") op.get_bind() op.execute("DROP TYPE notify_status_type") op.alter_column("notifications", "status", nullable=False) ### end Alembic commands ###