"""add timezone to datetime columns Revision ID: 002 Revises: 001 Create Date: 2025-11-30 """ from typing import Sequence, Union from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision: str = '002' down_revision: Union[str, None] = '001' branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: # Users table op.alter_column('users', 'created_at', type_=sa.DateTime(timezone=True), existing_type=sa.DateTime(), existing_nullable=False) # Contests table op.alter_column('contests', 'start_time', type_=sa.DateTime(timezone=True), existing_type=sa.DateTime(), existing_nullable=False) op.alter_column('contests', 'end_time', type_=sa.DateTime(timezone=True), existing_type=sa.DateTime(), existing_nullable=False) op.alter_column('contests', 'created_at', type_=sa.DateTime(timezone=True), existing_type=sa.DateTime(), existing_nullable=False) # Contest participants table op.alter_column('contest_participants', 'joined_at', type_=sa.DateTime(timezone=True), existing_type=sa.DateTime(), existing_nullable=False) # Problems table op.alter_column('problems', 'created_at', type_=sa.DateTime(timezone=True), existing_type=sa.DateTime(), existing_nullable=False) # Submissions table op.alter_column('submissions', 'created_at', type_=sa.DateTime(timezone=True), existing_type=sa.DateTime(), existing_nullable=False) def downgrade() -> None: # Submissions table op.alter_column('submissions', 'created_at', type_=sa.DateTime(), existing_type=sa.DateTime(timezone=True), existing_nullable=False) # Problems table op.alter_column('problems', 'created_at', type_=sa.DateTime(), existing_type=sa.DateTime(timezone=True), existing_nullable=False) # Contest participants table op.alter_column('contest_participants', 'joined_at', type_=sa.DateTime(), existing_type=sa.DateTime(timezone=True), existing_nullable=False) # Contests table op.alter_column('contests', 'created_at', type_=sa.DateTime(), existing_type=sa.DateTime(timezone=True), existing_nullable=False) op.alter_column('contests', 'end_time', type_=sa.DateTime(), existing_type=sa.DateTime(timezone=True), existing_nullable=False) op.alter_column('contests', 'start_time', type_=sa.DateTime(), existing_type=sa.DateTime(timezone=True), existing_nullable=False) # Users table op.alter_column('users', 'created_at', type_=sa.DateTime(), existing_type=sa.DateTime(timezone=True), existing_nullable=False)