"""init database Revision ID: 1627487324fd Revises: Create Date: 2026-03-23 18:33:08.493629 """ from typing import Sequence, Union import sqlalchemy as sa from alembic import op # revision identifiers, used by Alembic. revision: str = "1627487324fd" down_revision: Union[str, Sequence[str], None] = None branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: """Upgrade schema.""" # ### commands auto generated by Alembic - please adjust! ### op.create_table( "announcement", sa.Column("id", sa.Integer(), autoincrement=True, nullable=False), sa.Column("message", sa.JSON(), nullable=False), sa.Column("datetime", sa.DateTime(), nullable=False), sa.PrimaryKeyConstraint("id", name=op.f("pk_announcement")), ) op.create_table( "invoice", sa.Column("id", sa.Integer(), autoincrement=True, nullable=False), sa.Column("message", sa.JSON(), nullable=False), sa.Column("datetime", sa.DateTime(), nullable=False), sa.PrimaryKeyConstraint("id", name=op.f("pk_invoice")), ) op.create_table( "user", sa.Column("id", sa.Integer(), autoincrement=False, nullable=False), sa.Column("role", sa.Enum("REGULAR", "ADMIN", name="userrole"), nullable=False), sa.Column("vpn_link", sa.String(), nullable=False), sa.Column("datetime", sa.DateTime(), nullable=False), sa.PrimaryKeyConstraint("id", name=op.f("pk_user")), ) op.create_table( "payment", sa.Column("id", sa.Integer(), autoincrement=True, nullable=False), sa.Column("user_id", sa.Integer(), nullable=False), sa.Column("invoice_id", sa.Integer(), nullable=False), sa.Column("receipt_file_id", sa.String(), nullable=False), sa.Column("datetime", sa.DateTime(), nullable=False), sa.ForeignKeyConstraint( ["invoice_id"], ["invoice.id"], name=op.f("fk_payment_invoice_id_invoice") ), sa.ForeignKeyConstraint( ["user_id"], ["user.id"], name=op.f("fk_payment_user_id_user") ), sa.PrimaryKeyConstraint("id", name=op.f("pk_payment")), ) # ### end Alembic commands ### def downgrade() -> None: """Downgrade schema.""" # ### commands auto generated by Alembic - please adjust! ### op.drop_table("payment") op.drop_table("user") op.drop_table("invoice") op.drop_table("announcement") # ### end Alembic commands ###