From cf762f8b7600656c36b2b9a4905343e2c603f820 Mon Sep 17 00:00:00 2001 From: Georges-Antoine Assi Date: Sat, 3 Jan 2026 10:07:23 -0500 Subject: [PATCH 1/2] [ROMM-0062] Update rom_file.category column enum --- .../versions/0062_rom_file_category_enum.py | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 backend/alembic/versions/0062_rom_file_category_enum.py diff --git a/backend/alembic/versions/0062_rom_file_category_enum.py b/backend/alembic/versions/0062_rom_file_category_enum.py new file mode 100644 index 000000000..b41600350 --- /dev/null +++ b/backend/alembic/versions/0062_rom_file_category_enum.py @@ -0,0 +1,63 @@ +"""Update rom_file.category column enum + +Revision ID: 0062_rom_file_category_enum +Revises: 0061_manual_metadata +Create Date: 2026-01-03 10:03:00.00000 + +""" + +import sqlalchemy as sa +from alembic import op +from sqlalchemy.dialects.postgresql import ENUM + +from utils.database import is_postgresql + +# revision identifiers, used by Alembic. +revision = "0062_rom_file_category_enum" +down_revision = "0061_manual_metadata" +branch_labels = None +depends_on = None + + +def upgrade() -> None: + connection = op.get_bind() + + if is_postgresql(connection): + rom_file_category_enum = ENUM( + "GAME", + "DLC", + "HACK", + "MANUAL", + "PATCH", + "UPDATE", + "MOD", + "DEMO", + "TRANSLATION", + "PROTOTYPE", + name="romfilecategory", + create_type=False, + ) + rom_file_category_enum.create(connection, checkfirst=False) + else: + rom_file_category_enum = sa.Enum( + "GAME", + "DLC", + "HACK", + "MANUAL", + "PATCH", + "UPDATE", + "MOD", + "DEMO", + "TRANSLATION", + "PROTOTYPE", + name="romfilecategory", + ) + + with op.batch_alter_table("rom_files", schema=None) as batch_op: + batch_op.alter_column( + "category", existing_type=rom_file_category_enum, nullable=True + ) + + +def downgrade() -> None: + pass From dbc9af350b72fcb17106eb107611a072044be147 Mon Sep 17 00:00:00 2001 From: Georges-Antoine Assi Date: Sat, 3 Jan 2026 12:50:43 -0500 Subject: [PATCH 2/2] changes from bot review --- backend/alembic/versions/0062_rom_file_category_enum.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/backend/alembic/versions/0062_rom_file_category_enum.py b/backend/alembic/versions/0062_rom_file_category_enum.py index b41600350..75ae8d08f 100644 --- a/backend/alembic/versions/0062_rom_file_category_enum.py +++ b/backend/alembic/versions/0062_rom_file_category_enum.py @@ -37,7 +37,7 @@ def upgrade() -> None: name="romfilecategory", create_type=False, ) - rom_file_category_enum.create(connection, checkfirst=False) + rom_file_category_enum.create(connection, checkfirst=True) else: rom_file_category_enum = sa.Enum( "GAME", @@ -54,9 +54,7 @@ def upgrade() -> None: ) with op.batch_alter_table("rom_files", schema=None) as batch_op: - batch_op.alter_column( - "category", existing_type=rom_file_category_enum, nullable=True - ) + batch_op.alter_column("category", type_=rom_file_category_enum, nullable=True) def downgrade() -> None: