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