backend: добавлена модель дуэлей

This commit is contained in:
2022-11-20 11:45:27 +03:00
parent ce934affe3
commit 9c989350ec
3 changed files with 91 additions and 12 deletions

View File

@@ -0,0 +1,96 @@
"""empty message
Revision ID: aa81b5d5ae0f
Revises:
Create Date: 2022-11-20 11:42:42.864173
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = 'aa81b5d5ae0f'
down_revision = None
branch_labels = None
depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('character_classes',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('name', sa.String(length=255), nullable=True),
sa.Column('endurance_koef', sa.Float(), nullable=False),
sa.Column('strength_koef', sa.Float(), nullable=False),
sa.Column('agility_koef', sa.Float(), nullable=False),
sa.Column('defence_koef', sa.Float(), nullable=False),
sa.Column('wisdom_koef', sa.Float(), nullable=False),
sa.PrimaryKeyConstraint('id'),
sa.UniqueConstraint('name')
)
op.create_table('character_races',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('name', sa.String(length=255), nullable=True),
sa.Column('endurance_koef', sa.Float(), nullable=False),
sa.Column('strength_koef', sa.Float(), nullable=False),
sa.Column('agility_koef', sa.Float(), nullable=False),
sa.Column('defence_koef', sa.Float(), nullable=False),
sa.Column('wisdom_koef', sa.Float(), nullable=False),
sa.PrimaryKeyConstraint('id'),
sa.UniqueConstraint('name')
)
op.create_table('duels',
sa.Column('id', sa.Integer(), nullable=False),
sa.PrimaryKeyConstraint('id')
)
op.create_table('users',
sa.Column('id', sa.BigInteger(), autoincrement=False, nullable=False),
sa.Column('chat_id', sa.BigInteger(), nullable=False),
sa.Column('first_name', sa.String(length=255), nullable=True),
sa.Column('last_name', sa.String(length=255), nullable=True),
sa.Column('username', sa.String(length=255), nullable=False),
sa.Column('registered_on', sa.DateTime(), nullable=False),
sa.Column('is_admin', sa.Boolean(), nullable=False),
sa.PrimaryKeyConstraint('id'),
sa.UniqueConstraint('chat_id')
)
op.create_table('characters',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('owner_id', sa.BigInteger(), nullable=True),
sa.Column('name', sa.String(length=255), nullable=False),
sa.Column('character_race_id', sa.Integer(), nullable=False),
sa.Column('character_class_id', sa.Integer(), nullable=False),
sa.Column('created_on', sa.DateTime(), nullable=False),
sa.Column('endurance_base', sa.Integer(), nullable=False),
sa.Column('strength_base', sa.Integer(), nullable=False),
sa.Column('agility_base', sa.Integer(), nullable=False),
sa.Column('defence_base', sa.Integer(), nullable=False),
sa.Column('wisdom_base', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['character_class_id'], ['character_classes.id'], ondelete='CASCADE'),
sa.ForeignKeyConstraint(['character_race_id'], ['character_races.id'], ondelete='CASCADE'),
sa.ForeignKeyConstraint(['owner_id'], ['users.id'], ondelete='CASCADE'),
sa.PrimaryKeyConstraint('id'),
sa.UniqueConstraint('name')
)
op.create_table('duels_participants',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('participant_id', sa.Integer(), nullable=True),
sa.Column('turn_order', sa.Integer(), nullable=False),
sa.Column('duel_id', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['duel_id'], ['duels.id'], ondelete='CASCADE'),
sa.ForeignKeyConstraint(['participant_id'], ['characters.id'], ondelete='CASCADE'),
sa.PrimaryKeyConstraint('id')
)
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_table('duels_participants')
op.drop_table('characters')
op.drop_table('users')
op.drop_table('duels')
op.drop_table('character_races')
op.drop_table('character_classes')
# ### end Alembic commands ###