137 lines
6.3 KiB
Python
137 lines
6.3 KiB
Python
"""empty message
|
|
|
|
Revision ID: b154e49921e0
|
|
Revises:
|
|
Create Date: 2019-04-11 14:44:25.836132
|
|
|
|
"""
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision = 'b154e49921e0'
|
|
down_revision = None
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
|
|
def upgrade():
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
op.create_table('blacklist_tokens',
|
|
sa.Column('id', sa.Integer(), autoincrement=True, nullable=False),
|
|
sa.Column('token', sa.String(length=500), nullable=False),
|
|
sa.Column('blacklisted_on', sa.DateTime(), nullable=False),
|
|
sa.PrimaryKeyConstraint('id'),
|
|
sa.UniqueConstraint('token')
|
|
)
|
|
op.create_table('example_data_item',
|
|
sa.Column('id', sa.Integer(), autoincrement=True, nullable=False),
|
|
sa.Column('mac', sa.String(length=32), nullable=False),
|
|
sa.Column('uuid', sa.String(length=36), nullable=False),
|
|
sa.Column('some_string_value', sa.String(), nullable=True),
|
|
sa.Column('name', sa.String(length=128), nullable=False),
|
|
sa.Column('description', sa.String(length=4096), nullable=True),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_index(op.f('ix_example_data_item_mac'), 'example_data_item', ['mac'], unique=True)
|
|
op.create_index(op.f('ix_example_data_item_name'), 'example_data_item', ['name'], unique=False)
|
|
op.create_index(op.f('ix_example_data_item_some_string_value'), 'example_data_item', ['some_string_value'], unique=False)
|
|
op.create_index(op.f('ix_example_data_item_uuid'), 'example_data_item', ['uuid'], unique=True)
|
|
op.create_table('group',
|
|
sa.Column('id', sa.Integer(), autoincrement=True, nullable=False),
|
|
sa.Column('name', sa.Unicode(length=63), nullable=False),
|
|
sa.PrimaryKeyConstraint('id'),
|
|
sa.UniqueConstraint('name')
|
|
)
|
|
op.create_table('permission',
|
|
sa.Column('id', sa.Integer(), autoincrement=True, nullable=False),
|
|
sa.Column('name', sa.Unicode(length=63), nullable=False),
|
|
sa.Column('description', sa.Unicode(length=255), nullable=True),
|
|
sa.PrimaryKeyConstraint('id'),
|
|
sa.UniqueConstraint('name')
|
|
)
|
|
op.create_table('group_permission',
|
|
sa.Column('group_id', sa.Integer(), nullable=False),
|
|
sa.Column('permission_id', sa.Integer(), nullable=False),
|
|
sa.ForeignKeyConstraint(['group_id'], ['group.id'], onupdate='CASCADE', ondelete='CASCADE'),
|
|
sa.ForeignKeyConstraint(['permission_id'], ['permission.id'], onupdate='CASCADE', ondelete='CASCADE'),
|
|
sa.PrimaryKeyConstraint('group_id', 'permission_id')
|
|
)
|
|
op.create_table('user',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('social_id', sa.Unicode(length=63), nullable=True),
|
|
sa.Column('nickname', sa.Unicode(length=63), nullable=True),
|
|
sa.Column('first_name', sa.Unicode(length=63), nullable=True),
|
|
sa.Column('last_name', sa.Unicode(length=63), nullable=True),
|
|
sa.Column('email', sa.String(length=120), nullable=False),
|
|
sa.Column('lang', sa.Unicode(length=32), nullable=True),
|
|
sa.Column('timezone', sa.Unicode(length=63), nullable=True),
|
|
sa.Column('example_data_item_id', sa.Integer(), nullable=True),
|
|
sa.Column('about_me', sa.Unicode(length=255), nullable=True),
|
|
sa.Column('role', sa.Unicode(length=63), nullable=True),
|
|
sa.Column('password', sa.String(length=255), nullable=True),
|
|
sa.Column('registered_on', sa.DateTime(), nullable=False),
|
|
sa.Column('external_user', sa.Boolean(), nullable=True),
|
|
sa.Column('last_seen', sa.DateTime(), nullable=True),
|
|
sa.Column('jwt_exp_delta_seconds', sa.Integer(), nullable=True),
|
|
sa.ForeignKeyConstraint(['example_data_item_id'], ['example_data_item.id'], ),
|
|
sa.PrimaryKeyConstraint('id'),
|
|
sa.UniqueConstraint('social_id')
|
|
)
|
|
op.create_index(op.f('ix_user_email'), 'user', ['email'], unique=True)
|
|
op.create_index(op.f('ix_user_first_name'), 'user', ['first_name'], unique=False)
|
|
op.create_index(op.f('ix_user_last_name'), 'user', ['last_name'], unique=False)
|
|
op.create_index(op.f('ix_user_nickname'), 'user', ['nickname'], unique=True)
|
|
op.create_table('acquaintances',
|
|
sa.Column('me_id', sa.Integer(), nullable=True),
|
|
sa.Column('acquaintance_id', sa.Integer(), nullable=True),
|
|
sa.ForeignKeyConstraint(['acquaintance_id'], ['user.id'], ),
|
|
sa.ForeignKeyConstraint(['me_id'], ['user.id'], )
|
|
)
|
|
op.create_table('followers',
|
|
sa.Column('follower_id', sa.Integer(), nullable=True),
|
|
sa.Column('followed_id', sa.Integer(), nullable=True),
|
|
sa.ForeignKeyConstraint(['followed_id'], ['user.id'], ),
|
|
sa.ForeignKeyConstraint(['follower_id'], ['user.id'], )
|
|
)
|
|
op.create_table('post',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('body', sa.String(length=140), nullable=True),
|
|
sa.Column('timestamp', sa.DateTime(), nullable=True),
|
|
sa.Column('user_id', sa.Integer(), nullable=True),
|
|
sa.ForeignKeyConstraint(['user_id'], ['user.id'], ),
|
|
sa.PrimaryKeyConstraint('id')
|
|
)
|
|
op.create_table('user_group',
|
|
sa.Column('user_id', sa.Integer(), nullable=False),
|
|
sa.Column('group_id', sa.Integer(), nullable=False),
|
|
sa.ForeignKeyConstraint(['group_id'], ['group.id'], onupdate='CASCADE', ondelete='CASCADE'),
|
|
sa.ForeignKeyConstraint(['user_id'], ['user.id'], onupdate='CASCADE', ondelete='CASCADE'),
|
|
sa.PrimaryKeyConstraint('user_id', 'group_id')
|
|
)
|
|
# ### end Alembic commands ###
|
|
|
|
|
|
def downgrade():
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
op.drop_table('user_group')
|
|
op.drop_table('post')
|
|
op.drop_table('followers')
|
|
op.drop_table('acquaintances')
|
|
op.drop_index(op.f('ix_user_nickname'), table_name='user')
|
|
op.drop_index(op.f('ix_user_last_name'), table_name='user')
|
|
op.drop_index(op.f('ix_user_first_name'), table_name='user')
|
|
op.drop_index(op.f('ix_user_email'), table_name='user')
|
|
op.drop_table('user')
|
|
op.drop_table('group_permission')
|
|
op.drop_table('permission')
|
|
op.drop_table('group')
|
|
op.drop_index(op.f('ix_example_data_item_uuid'), table_name='example_data_item')
|
|
op.drop_index(op.f('ix_example_data_item_some_string_value'), table_name='example_data_item')
|
|
op.drop_index(op.f('ix_example_data_item_name'), table_name='example_data_item')
|
|
op.drop_index(op.f('ix_example_data_item_mac'), table_name='example_data_item')
|
|
op.drop_table('example_data_item')
|
|
op.drop_table('blacklist_tokens')
|
|
# ### end Alembic commands ###
|