aboutsummaryrefslogtreecommitdiff
path: root/alembic/versions
diff options
context:
space:
mode:
Diffstat (limited to 'alembic/versions')
-rw-r--r--alembic/versions/5d998cafe1ba_init_database.py55
-rw-r--r--alembic/versions/940afc736a0f_init_database.py72
2 files changed, 72 insertions, 55 deletions
diff --git a/alembic/versions/5d998cafe1ba_init_database.py b/alembic/versions/5d998cafe1ba_init_database.py
deleted file mode 100644
index e55e4ed..0000000
--- a/alembic/versions/5d998cafe1ba_init_database.py
+++ /dev/null
@@ -1,55 +0,0 @@
1"""init database
2
3Revision ID: 5d998cafe1ba
4Revises:
5Create Date: 2026-03-23 00:05:14.621886
6
7"""
8from typing import Sequence, Union
9
10from alembic import op
11import sqlalchemy as sa
12
13
14# revision identifiers, used by Alembic.
15revision: str = '5d998cafe1ba'
16down_revision: Union[str, Sequence[str], None] = None
17branch_labels: Union[str, Sequence[str], None] = None
18depends_on: Union[str, Sequence[str], None] = None
19
20
21def upgrade() -> None:
22 """Upgrade schema."""
23 # ### commands auto generated by Alembic - please adjust! ###
24 op.create_table('invoice',
25 sa.Column('id', sa.Integer(), autoincrement=True, nullable=False),
26 sa.Column('amount', sa.Float(), nullable=False),
27 sa.Column('datetime', sa.DateTime(), nullable=False),
28 sa.PrimaryKeyConstraint('id', name=op.f('pk_invoice'))
29 )
30 op.create_table('user',
31 sa.Column('id', sa.Integer(), autoincrement=False, nullable=False),
32 sa.Column('role', sa.Enum('REGULAR', 'ADMIN', name='userrole'), nullable=False),
33 sa.Column('vpn_link', sa.String(), nullable=False),
34 sa.PrimaryKeyConstraint('id', name=op.f('pk_user'))
35 )
36 op.create_table('payment',
37 sa.Column('id', sa.Integer(), autoincrement=True, nullable=False),
38 sa.Column('user_id', sa.Integer(), nullable=False),
39 sa.Column('invoice_id', sa.Integer(), nullable=False),
40 sa.Column('receipt_file_id', sa.String(), nullable=False),
41 sa.Column('datetime', sa.DateTime(), nullable=False),
42 sa.ForeignKeyConstraint(['invoice_id'], ['invoice.id'], name=op.f('fk_payment_invoice_id_invoice')),
43 sa.ForeignKeyConstraint(['user_id'], ['user.id'], name=op.f('fk_payment_user_id_user')),
44 sa.PrimaryKeyConstraint('id', name=op.f('pk_payment'))
45 )
46 # ### end Alembic commands ###
47
48
49def downgrade() -> None:
50 """Downgrade schema."""
51 # ### commands auto generated by Alembic - please adjust! ###
52 op.drop_table('payment')
53 op.drop_table('user')
54 op.drop_table('invoice')
55 # ### end Alembic commands ###
diff --git a/alembic/versions/940afc736a0f_init_database.py b/alembic/versions/940afc736a0f_init_database.py
new file mode 100644
index 0000000..bfaa771
--- /dev/null
+++ b/alembic/versions/940afc736a0f_init_database.py
@@ -0,0 +1,72 @@
1"""init database
2
3Revision ID: 940afc736a0f
4Revises:
5Create Date: 2026-03-23 02:21:35.245634
6
7"""
8
9from typing import Sequence, Union
10
11import sqlalchemy as sa
12
13from alembic import op
14
15# revision identifiers, used by Alembic.
16revision: str = "940afc736a0f"
17down_revision: Union[str, Sequence[str], None] = None
18branch_labels: Union[str, Sequence[str], None] = None
19depends_on: Union[str, Sequence[str], None] = None
20
21
22def upgrade() -> None:
23 """Upgrade schema."""
24 # ### commands auto generated by Alembic - please adjust! ###
25 op.create_table(
26 "announcement",
27 sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
28 sa.Column("message", sa.JSON(), nullable=False),
29 sa.Column("datetime", sa.DateTime(), nullable=False),
30 sa.PrimaryKeyConstraint("id", name=op.f("pk_announcement")),
31 )
32 op.create_table(
33 "invoice",
34 sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
35 sa.Column("amount", sa.Float(), nullable=False),
36 sa.Column("datetime", sa.DateTime(), nullable=False),
37 sa.PrimaryKeyConstraint("id", name=op.f("pk_invoice")),
38 )
39 op.create_table(
40 "user",
41 sa.Column("id", sa.Integer(), autoincrement=False, nullable=False),
42 sa.Column("role", sa.Enum("REGULAR", "ADMIN", name="userrole"), nullable=False),
43 sa.Column("vpn_link", sa.String(), nullable=False),
44 sa.Column("datetime", sa.DateTime(), nullable=False),
45 sa.PrimaryKeyConstraint("id", name=op.f("pk_user")),
46 )
47 op.create_table(
48 "payment",
49 sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
50 sa.Column("user_id", sa.Integer(), nullable=False),
51 sa.Column("invoice_id", sa.Integer(), nullable=False),
52 sa.Column("receipt_file_id", sa.String(), nullable=False),
53 sa.Column("datetime", sa.DateTime(), nullable=False),
54 sa.ForeignKeyConstraint(
55 ["invoice_id"], ["invoice.id"], name=op.f("fk_payment_invoice_id_invoice")
56 ),
57 sa.ForeignKeyConstraint(
58 ["user_id"], ["user.id"], name=op.f("fk_payment_user_id_user")
59 ),
60 sa.PrimaryKeyConstraint("id", name=op.f("pk_payment")),
61 )
62 # ### end Alembic commands ###
63
64
65def downgrade() -> None:
66 """Downgrade schema."""
67 # ### commands auto generated by Alembic - please adjust! ###
68 op.drop_table("payment")
69 op.drop_table("user")
70 op.drop_table("invoice")
71 op.drop_table("announcement")
72 # ### end Alembic commands ###