From b3824f038f993d58cd6bc8e0d3d349b38f9419fc Mon Sep 17 00:00:00 2001 From: daydensteve Date: Thu, 8 Jan 2026 20:34:28 -0500 Subject: [PATCH] Fixed bad default subtrophy values (issue #235) --- .../318d52559e83_chuni_subtrophy_db_fix.py | 31 +++++++++++++++++++ titles/chuni/schema/profile.py | 4 +-- 2 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 core/data/alembic/versions/318d52559e83_chuni_subtrophy_db_fix.py diff --git a/core/data/alembic/versions/318d52559e83_chuni_subtrophy_db_fix.py b/core/data/alembic/versions/318d52559e83_chuni_subtrophy_db_fix.py new file mode 100644 index 0000000..e42bc25 --- /dev/null +++ b/core/data/alembic/versions/318d52559e83_chuni_subtrophy_db_fix.py @@ -0,0 +1,31 @@ +"""chuni_subtrophy_db_fix + +Revision ID: 318d52559e83 +Revises: 8b57e9646449 +Create Date: 2026-01-08 19:13:29.803912 + +""" + +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import mysql + +# revision identifiers, used by Alembic. +revision = '318d52559e83' +down_revision = '8b57e9646449' +branch_labels = None +depends_on = None + + +def upgrade(): + op.alter_column('chuni_profile_data', 'trophyIdSub1', existing_type=mysql.INTEGER(), server_default='-1') + op.alter_column('chuni_profile_data', 'trophyIdSub2', existing_type=mysql.INTEGER(), server_default='-1') + + # fix any current profiles where the bad defaults were used + op.execute("UPDATE chuni_profile_data SET trophyIdSub1=-1 WHERE trophyIdSub1 IS NULL") + op.execute("UPDATE chuni_profile_data SET trophyIdSub2=-1 WHERE trophyIdSub2 IS NULL") + + +def downgrade(): + # dont bother "unfixing" the table + pass diff --git a/titles/chuni/schema/profile.py b/titles/chuni/schema/profile.py index 8bc719f..1ab86a8 100644 --- a/titles/chuni/schema/profile.py +++ b/titles/chuni/schema/profile.py @@ -26,8 +26,8 @@ profile = Table( Column("frameId", Integer), Column("isMaimai", Boolean), Column("trophyId", Integer), - Column("trophyIdSub1", Integer), - Column("trophyIdSub2", Integer), + Column("trophyIdSub1", Integer, server_default="-1"), + Column("trophyIdSub2", Integer, server_default="-1"), Column("userName", String(25)), Column("isWebJoin", Boolean), Column("playCount", Integer),