summaryrefslogtreecommitdiff
path: root/migrations/versions/c08245a9c93f_.py
blob: 48b115be82dfab39b8f7063e3500d34376f32fe6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
"""empty message

Revision ID: c08245a9c93f
Revises: d158cf8f4950
Create Date: 2025-07-12 21:27:46.932139

"""

from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision = "c08245a9c93f"
down_revision = "d158cf8f4950"
branch_labels = None
depends_on = None


def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table(
        "court",
        sa.Column("id", sa.Integer(), nullable=False),
        sa.Column("status", sa.Boolean(), nullable=False),
        sa.PrimaryKeyConstraint("id"),
    )
    op.create_table(
        "player",
        sa.Column("id", sa.Integer(), nullable=False),
        sa.Column("first_name", sa.String(length=64), nullable=False),
        sa.Column("last_name", sa.String(length=64), nullable=False),
        sa.Column("team", sa.Integer(), nullable=False),
        sa.Column("status", sa.Boolean(), nullable=False),
        sa.Column("level", sa.Integer(), nullable=False),
        sa.PrimaryKeyConstraint("id"),
    )
    with op.batch_alter_table("player", schema=None) as batch_op:
        batch_op.create_index(
            batch_op.f("ix_player_first_name"), ["first_name"], unique=False
        )
        batch_op.create_index(
            batch_op.f("ix_player_last_name"), ["last_name"], unique=False
        )
        batch_op.create_index(batch_op.f("ix_player_team"), ["team"], unique=False)

    op.create_table(
        "game",
        sa.Column("id", sa.Integer(), nullable=False),
        sa.Column("round_id", sa.Integer(), nullable=False),
        sa.Column("court_id", sa.Integer(), nullable=False),
        sa.Column("player_1", sa.Integer(), nullable=False),
        sa.Column("player_2", sa.Integer(), nullable=False),
        sa.Column("player_3", sa.Integer(), nullable=False),
        sa.Column("player_4", sa.Integer(), nullable=False),
        sa.Column("date", sa.DateTime(), nullable=False),
        sa.ForeignKeyConstraint(
            ["court_id"],
            ["court.id"],
        ),
        sa.ForeignKeyConstraint(
            ["player_1"],
            ["player.id"],
        ),
        sa.ForeignKeyConstraint(
            ["player_2"],
            ["player.id"],
        ),
        sa.ForeignKeyConstraint(
            ["player_3"],
            ["player.id"],
        ),
        sa.ForeignKeyConstraint(
            ["player_4"],
            ["player.id"],
        ),
        sa.PrimaryKeyConstraint("id"),
    )
    with op.batch_alter_table("game", schema=None) as batch_op:
        batch_op.create_index(
            batch_op.f("ix_game_court_id"), ["court_id"], unique=False
        )
        batch_op.create_index(batch_op.f("ix_game_date"), ["date"], unique=False)
        batch_op.create_index(
            batch_op.f("ix_game_player_1"), ["player_1"], unique=False
        )
        batch_op.create_index(
            batch_op.f("ix_game_player_2"), ["player_2"], unique=False
        )
        batch_op.create_index(
            batch_op.f("ix_game_player_3"), ["player_3"], unique=False
        )
        batch_op.create_index(
            batch_op.f("ix_game_player_4"), ["player_4"], unique=False
        )
        batch_op.create_index(
            batch_op.f("ix_game_round_id"), ["round_id"], unique=False
        )

    # ### end Alembic commands ###


def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    with op.batch_alter_table("game", schema=None) as batch_op:
        batch_op.drop_index(batch_op.f("ix_game_round_id"))
        batch_op.drop_index(batch_op.f("ix_game_player_4"))
        batch_op.drop_index(batch_op.f("ix_game_player_3"))
        batch_op.drop_index(batch_op.f("ix_game_player_2"))
        batch_op.drop_index(batch_op.f("ix_game_player_1"))
        batch_op.drop_index(batch_op.f("ix_game_date"))
        batch_op.drop_index(batch_op.f("ix_game_court_id"))

    op.drop_table("game")
    with op.batch_alter_table("player", schema=None) as batch_op:
        batch_op.drop_index(batch_op.f("ix_player_team"))
        batch_op.drop_index(batch_op.f("ix_player_last_name"))
        batch_op.drop_index(batch_op.f("ix_player_first_name"))

    op.drop_table("player")
    op.drop_table("court")
    # ### end Alembic commands ###