2016-06-21 13:41:46 +01:00
|
|
|
"""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))
|
2016-06-21 15:55:39 +01:00
|
|
|
op.execute("update notifications set status = 'sending' where status = 'created'")
|
2016-06-21 13:41:46 +01:00
|
|
|
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)
|
2016-06-23 16:45:20 +01:00
|
|
|
### end Alembic commands ###
|