Skip to content

Commit

Permalink
fix romfile migration for empty files
Browse files Browse the repository at this point in the history
  • Loading branch information
gantoine committed Feb 27, 2025
1 parent 1cb66e2 commit 43257cd
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions backend/alembic/versions/0033_rom_file_and_hashes.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,9 @@ def upgrade() -> None:
CASE WHEN NOT r.multi THEN r.md5_hash ELSE NULL END AS md5_hash,
CASE WHEN NOT r.multi THEN r.sha1_hash ELSE NULL END AS sha1_hash
FROM roms r
CROSS JOIN jsonb_array_elements(r.files) AS file_data;
CROSS JOIN jsonb_array_elements(r.files) AS file_data
WHERE file_data->>'filename' IS NOT NULL
AND file_data->>'filename' <> '';
"""
)
else:
Expand All @@ -124,7 +126,10 @@ def upgrade() -> None:
SELECT
r.id AS rom_id,
JSON_UNQUOTE(JSON_EXTRACT(file_data, '$.filename')) AS file_name,
CASE WHEN r.multi = 0 THEN r.file_path ELSE CONCAT(TRIM(TRAILING '/' FROM r.file_path), '/', r.file_name) END AS file_path,
CASE
WHEN r.multi = 0 THEN r.file_path
ELSE CONCAT(TRIM(TRAILING '/' FROM r.file_path), '/', r.file_name)
END AS file_path,
JSON_UNQUOTE(JSON_EXTRACT(file_data, '$.size')) AS file_size_bytes,
JSON_UNQUOTE(JSON_EXTRACT(file_data, '$.last_modified')) AS last_modified,
CASE WHEN r.multi = 0 THEN r.crc_hash ELSE NULL END AS crc_hash,
Expand All @@ -135,7 +140,9 @@ def upgrade() -> None:
COLUMNS (
file_data JSON PATH '$'
)
) AS extracted_files;
) AS extracted_files
WHERE JSON_UNQUOTE(JSON_EXTRACT(file_data, '$.filename')) IS NOT NULL
AND JSON_UNQUOTE(JSON_EXTRACT(file_data, '$.filename')) <> '';
"""
)

Expand Down

0 comments on commit 43257cd

Please sign in to comment.