Add Event and PlayerEvent models
parent
436359594b
commit
22040f47a0
|
@ -0,0 +1,36 @@
|
||||||
|
"""Add PlayerEvent models
|
||||||
|
|
||||||
|
Revision ID: 131efbdd7af4
|
||||||
|
Revises: 1fc9a051a0a6
|
||||||
|
Create Date: 2024-11-19 10:16:34.289124
|
||||||
|
|
||||||
|
"""
|
||||||
|
from alembic import op
|
||||||
|
import sqlalchemy as sa
|
||||||
|
|
||||||
|
|
||||||
|
# revision identifiers, used by Alembic.
|
||||||
|
revision = '131efbdd7af4'
|
||||||
|
down_revision = '1fc9a051a0a6'
|
||||||
|
branch_labels = None
|
||||||
|
depends_on = None
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade():
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
with op.batch_alter_table('team_discord_integrations', schema=None) as batch_op:
|
||||||
|
batch_op.alter_column('webhook_url',
|
||||||
|
existing_type=sa.VARCHAR(length=255),
|
||||||
|
nullable=True)
|
||||||
|
|
||||||
|
# ### end Alembic commands ###
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade():
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
with op.batch_alter_table('team_discord_integrations', schema=None) as batch_op:
|
||||||
|
batch_op.alter_column('webhook_url',
|
||||||
|
existing_type=sa.VARCHAR(length=255),
|
||||||
|
nullable=False)
|
||||||
|
|
||||||
|
# ### end Alembic commands ###
|
|
@ -0,0 +1,23 @@
|
||||||
|
from datetime import datetime
|
||||||
|
from sqlalchemy.orm import mapped_column, relationship
|
||||||
|
from sqlalchemy.orm.attributes import Mapped
|
||||||
|
from sqlalchemy.types import TIMESTAMP, Integer, String, Text
|
||||||
|
from sqlalchemy.sql import func
|
||||||
|
from sqlalchemy_utc import UtcDateTime
|
||||||
|
import app_db
|
||||||
|
|
||||||
|
|
||||||
|
class Event(app_db.BaseModel):
|
||||||
|
__tablename__ = "events"
|
||||||
|
|
||||||
|
id: Mapped[int] = mapped_column(Integer, autoincrement=True, primary_key=True)
|
||||||
|
name: Mapped[str] = mapped_column(String(255), nullable=False)
|
||||||
|
description: Mapped[str] = mapped_column(Text, nullable=True)
|
||||||
|
start_time: Mapped[datetime] = mapped_column(UtcDateTime, nullable=False)
|
||||||
|
team_id: Mapped[int] = mapped_column(Integer, nullable=False)
|
||||||
|
created_at: Mapped[datetime] = mapped_column(TIMESTAMP, server_default=func.now())
|
||||||
|
|
||||||
|
team: Mapped["Team"] = relationship("Team", back_populates="events")
|
||||||
|
|
||||||
|
|
||||||
|
from models.team import Team
|
|
@ -0,0 +1,18 @@
|
||||||
|
from sqlalchemy.orm import mapped_column, relationship
|
||||||
|
from sqlalchemy.orm.attributes import Mapped
|
||||||
|
from sqlalchemy.orm.properties import ForeignKey
|
||||||
|
import app_db
|
||||||
|
|
||||||
|
|
||||||
|
class PlayerEvent(app_db.BaseModel):
|
||||||
|
__tablename__ = "players_events"
|
||||||
|
|
||||||
|
event_id: Mapped[int] = mapped_column(ForeignKey("events.id"), primary_key=True)
|
||||||
|
player_id: Mapped[int] = mapped_column(ForeignKey("players.steam_id"), primary_key=True)
|
||||||
|
|
||||||
|
event: Mapped["Event"] = relationship("Event", back_populates="players")
|
||||||
|
player: Mapped["Player"] = relationship("Player", back_populates="events")
|
||||||
|
|
||||||
|
|
||||||
|
from models.event import Event
|
||||||
|
from models.player import Player
|
Loading…
Reference in New Issue