"""empty message Revision ID: 40_verify_codes Revises: 30_update_indexes Create Date: 2015-12-09 16:39:44.673094 """ # revision identifiers, used by Alembic. revision = '40_verify_codes' down_revision = '30_update_indexes' from alembic import op import sqlalchemy as sa def upgrade(): code_type_enum = sa.Enum('email', 'sms', name='verify_code_types') # code_type_enum.create(op.get_bind(), checkfirst=False) op.create_table('verify_codes', sa.Column('id', sa.Integer(), nullable=False), sa.Column('user_id', sa.Integer(), nullable=False), sa.Column('code', sa.String, nullable=False), sa.Column('code_type', code_type_enum), sa.Column('expiry_datetime', sa.DateTime(), nullable=False), sa.Column('code_used', sa.Boolean(), nullable=True), sa.ForeignKeyConstraint(['user_id'], ['users.id'], ), sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_verify_codes_user_id'), 'verify_codes', ['user_id'], unique=False) op.drop_constraint('users_name_key', 'users', type_='unique') ### end Alembic commands ### def downgrade(): ### commands auto generated by Alembic - please adjust! ### op.create_unique_constraint('users_name_key', 'users', ['name']) op.drop_index(op.f('ix_verify_codes_user_id'), table_name='verify_codes') op.drop_table('verify_codes') op.execute('DROP TYPE verify_code_types') ### end Alembic commands ###