31 lines
1.2 KiB
Python
31 lines
1.2 KiB
Python
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
|
from sqlalchemy import ForeignKey
|
|
|
|
from database import Base
|
|
|
|
|
|
class MPUpdate(Base):
|
|
__tablename__ = "MP_UPDATE"
|
|
id: Mapped[int] = mapped_column(autoincrement=True, primary_key=True)
|
|
version: Mapped[str] = mapped_column(nullable=False)
|
|
program_id: Mapped[int] = mapped_column(ForeignKey("MP_PROGRAM.id", ondelete="CASCADE"))
|
|
description: Mapped[str | None] = mapped_column(nullable=True)
|
|
download_link_android: Mapped[str | None] = mapped_column(nullable=True)
|
|
download_link_ios: Mapped[str | None] = mapped_column(nullable=True)
|
|
program: Mapped['MPProgram'] = relationship()
|
|
|
|
|
|
class MPProgram(Base):
|
|
__tablename__ = "MP_PROGRAM"
|
|
id: Mapped[int] = mapped_column(autoincrement=True, primary_key=True)
|
|
name: Mapped[str]
|
|
|
|
|
|
class MPUser(Base):
|
|
__tablename__ = "MP_USER"
|
|
id: Mapped[int] = mapped_column(autoincrement=True, primary_key=True)
|
|
username: Mapped[str] = mapped_column(nullable=False)
|
|
email: Mapped[str] = mapped_column(nullable=False)
|
|
password: Mapped[str] = mapped_column(nullable=False)
|
|
is_active: Mapped[bool] = mapped_column(nullable=False)
|