"""user: add user_preference Revision ID: fa4952dc70df Revises: 425b91532cb4 Create Date: 2025-10-06 04:13:47.131043 """ from collections.abc import Sequence from alembic import op import sqlalchemy as sa from sqlalchemy.dialects import mysql import sqlmodel # revision identifiers, used by Alembic. revision: str = "fa4952dc70df" down_revision: str | Sequence[str] | None = "425b91532cb4" branch_labels: str | Sequence[str] | None = None depends_on: str | Sequence[str] | None = None def upgrade() -> None: """Upgrade schema.""" # ### commands auto generated by Alembic - please adjust! ### op.create_table( "userpreference", sa.Column("user_id", sa.BigInteger(), nullable=False), sa.Column("theme", sqlmodel.sql.sqltypes.AutoString(), nullable=False), sa.Column("language", sqlmodel.sql.sqltypes.AutoString(), nullable=False), sa.Column("extra", sa.JSON(), nullable=True), sa.Column("audio_autoplay", sa.Boolean(), nullable=False), sa.Column("audio_muted", sa.Boolean(), nullable=False), sa.Column("audio_volume", sa.Float(), nullable=False), sa.Column("beatmapset_card_size", sa.Enum("NORMAL", "EXTRA", name="beatmapcardsize"), nullable=False), sa.Column("beatmap_download", sa.Enum("ALL", "NO_VIDEO", "direct", name="beatmapdownload"), nullable=False), sa.Column("beatmapset_show_nsfw", sa.Boolean(), nullable=False), sa.Column("extras_order", sa.JSON(), nullable=True), sa.Column("legacy_score_only", sa.Boolean(), nullable=False), sa.Column("profile_cover_expanded", sa.Boolean(), nullable=False), sa.Column("scoring_mode", sa.Enum("STANDARDISED", "CLASSIC", name="scoringmode"), nullable=False), sa.Column("user_list_filter", sa.Enum("ALL", "ONLINE", "OFFLINE", name="userlistfilter"), nullable=False), sa.Column("user_list_sort", sa.Enum("LAST_VISIT", "RANK", "USERNAME", name="userlistsort"), nullable=False), sa.Column("user_list_view", sa.Enum("CARD", "LIST", "BRICK", name="userlistview"), nullable=False), sa.ForeignKeyConstraint(["user_id"], ["lazer_users.id"], ondelete="CASCADE"), sa.PrimaryKeyConstraint("user_id"), ) op.add_column( "lazer_users", sa.Column( "g0v0_playmode", sa.Enum("OSU", "TAIKO", "FRUITS", "MANIA", "OSURX", "OSUAP", "TAIKORX", "FRUITSRX", name="gamemode"), nullable=False, ), ) op.drop_column("lazer_users", "profile_order") # ### end Alembic commands ### def downgrade() -> None: """Downgrade schema.""" # ### commands auto generated by Alembic - please adjust! ### op.add_column("lazer_users", sa.Column("profile_order", mysql.JSON(), nullable=True)) op.drop_column("lazer_users", "g0v0_playmode") op.drop_table("userpreference") # ### end Alembic commands ###