"""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'

from alembic import op
import sqlalchemy as sa


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 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 ###
@@ -1637,32 +1637,119 @@
 nullable=True))%0A
+    op.execute(%22update notifications set status = 'sending' where status = 'created'%22)%0A
     op.execute('

Fix downgrade to work if any notifications have status = 'created'