diff --git a/src/main/resources/db/migration/V36__name_reviewed_catalog_styles.sql b/src/main/resources/db/migration/V36__name_reviewed_catalog_styles.sql new file mode 100644 index 0000000..a416483 --- /dev/null +++ b/src/main/resources/db/migration/V36__name_reviewed_catalog_styles.sql @@ -0,0 +1,64 @@ +-- Replace placeholder labels on the 39 visually reviewed active SYSTEM thumbnails. +-- Names describe visible shapes, not unverified perm/colour procedures. +-- The API renders hairstyle_assets.style_name; S3 object keys and historical IDs stay valid. +-- A changed name/thumbnail is deliberately left untouched if it no longer matches this review. +WITH reviewed(hairstyle_id, thumbnail_file_id, old_name, new_name) AS ( + VALUES + ('71000000-0000-4000-8000-000000000045'::uuid, '72000000-0000-4000-8000-000000000045'::uuid, '숏 스타일 01', '내추럴 쇼트컷'), + ('71000000-0000-4000-8000-000000000069'::uuid, '72000000-0000-4000-8000-000000000069'::uuid, '숏 스타일 03', '사이드뱅 쇼트컷'), + ('71000000-0000-4000-8000-000000000074'::uuid, '72000000-0000-4000-8000-000000000074'::uuid, '숏 스타일 04', '숏 픽시컷'), + ('71000000-0000-4000-8000-000000000007'::uuid, '72000000-0000-4000-8000-000000000007'::uuid, '미디엄 스타일 01', '브레이드 업두'), + ('71000000-0000-4000-8000-000000000008'::uuid, '72000000-0000-4000-8000-000000000008'::uuid, '미디엄 스타일 02', '롱 스트레이트'), + ('71000000-0000-4000-8000-000000000009'::uuid, '72000000-0000-4000-8000-000000000009'::uuid, '미디엄 스타일 03', '슬릭백 웨이브'), + ('71000000-0000-4000-8000-000000000010'::uuid, '72000000-0000-4000-8000-000000000010'::uuid, '미디엄 스타일 04', '텍스처 쇼트컷'), + ('71000000-0000-4000-8000-000000000011'::uuid, '72000000-0000-4000-8000-000000000011'::uuid, '미디엄 스타일 05', '크롭 픽시컷'), + ('71000000-0000-4000-8000-000000000014'::uuid, '72000000-0000-4000-8000-000000000014'::uuid, '미디엄 스타일 06', '사이드 브레이드'), + ('71000000-0000-4000-8000-000000000015'::uuid, '72000000-0000-4000-8000-000000000015'::uuid, '미디엄 스타일 07', '롱 스트레이트'), + ('71000000-0000-4000-8000-000000000016'::uuid, '72000000-0000-4000-8000-000000000016'::uuid, '미디엄 스타일 08', '내추럴 롱 웨이브'), + ('71000000-0000-4000-8000-000000000017'::uuid, '72000000-0000-4000-8000-000000000017'::uuid, '미디엄 스타일 09', '사이드파트 웨이브'), + ('71000000-0000-4000-8000-000000000021'::uuid, '72000000-0000-4000-8000-000000000021'::uuid, '미디엄 스타일 10', '사이드뱅 레이어드컷'), + ('71000000-0000-4000-8000-000000000022'::uuid, '72000000-0000-4000-8000-000000000022'::uuid, '미디엄 스타일 11', '사이드파트 컬리 보브'), + ('71000000-0000-4000-8000-000000000024'::uuid, '72000000-0000-4000-8000-000000000024'::uuid, '미디엄 스타일 13', '내추럴 스트레이트'), + ('71000000-0000-4000-8000-000000000025'::uuid, '72000000-0000-4000-8000-000000000025'::uuid, '미디엄 스타일 14', '원랭스 미디엄컷'), + ('71000000-0000-4000-8000-000000000026'::uuid, '72000000-0000-4000-8000-000000000026'::uuid, '미디엄 스타일 15', '스파이키 언더컷'), + ('71000000-0000-4000-8000-000000000029'::uuid, '72000000-0000-4000-8000-000000000029'::uuid, '미디엄 스타일 18', '클래식 브레이드'), + ('71000000-0000-4000-8000-000000000052'::uuid, '72000000-0000-4000-8000-000000000052'::uuid, '미디엄 스타일 22', '언더컷 멀릿'), + ('71000000-0000-4000-8000-000000000053'::uuid, '72000000-0000-4000-8000-000000000053'::uuid, '미디엄 스타일 23', '모호크컷'), + ('71000000-0000-4000-8000-000000000012'::uuid, '72000000-0000-4000-8000-000000000012'::uuid, '롱 스타일 01', '센터파트 롱 스트레이트'), + ('71000000-0000-4000-8000-000000000013'::uuid, '72000000-0000-4000-8000-000000000013'::uuid, '롱 스타일 02', '롱 레이어드 웨이브'), + ('71000000-0000-4000-8000-000000000018'::uuid, '72000000-0000-4000-8000-000000000018'::uuid, '롱 스타일 03', '내추럴 롱 웨이브'), + ('71000000-0000-4000-8000-000000000019'::uuid, '72000000-0000-4000-8000-000000000019'::uuid, '롱 스타일 04', '센터파트 롱 스트레이트'), + ('71000000-0000-4000-8000-000000000020'::uuid, '72000000-0000-4000-8000-000000000020'::uuid, '롱 스타일 05', '롱 스트레이트'), + ('71000000-0000-4000-8000-000000000031'::uuid, '72000000-0000-4000-8000-000000000031'::uuid, '롱 스타일 06', '옴브레 롱 웨이브'), + ('71000000-0000-4000-8000-000000000032'::uuid, '72000000-0000-4000-8000-000000000032'::uuid, '롱 스타일 07', '로우 포니테일'), + ('71000000-0000-4000-8000-000000000037'::uuid, '72000000-0000-4000-8000-000000000037'::uuid, '롱 스타일 09', '내추럴 롱 웨이브'), + ('71000000-0000-4000-8000-000000000038'::uuid, '72000000-0000-4000-8000-000000000038'::uuid, '롱 스타일 10', '롱 스트레이트'), + ('71000000-0000-4000-8000-000000000040'::uuid, '72000000-0000-4000-8000-000000000040'::uuid, '롱 스타일 12', '사이드파트 롱 웨이브'), + ('71000000-0000-4000-8000-000000000044'::uuid, '72000000-0000-4000-8000-000000000044'::uuid, '롱 스타일 15', '롱 스트레이트'), + ('71000000-0000-4000-8000-000000000048'::uuid, '72000000-0000-4000-8000-000000000048'::uuid, '롱 스타일 17', '센터파트 롱 스트레이트'), + ('71000000-0000-4000-8000-000000000071'::uuid, '72000000-0000-4000-8000-000000000071'::uuid, '롱 스타일 18', '롱 컬리 웨이브'), + ('71000000-0000-4000-8000-000000000083'::uuid, '72000000-0000-4000-8000-000000000083'::uuid, '롱 스타일 23', '롱 스트레이트'), + ('71000000-0000-4000-8000-000000000086'::uuid, '72000000-0000-4000-8000-000000000086'::uuid, '롱 스타일 26', '내추럴 롱 웨이브'), + ('71000000-0000-4000-8000-000000000087'::uuid, '72000000-0000-4000-8000-000000000087'::uuid, '롱 스타일 27', '롱 비치 웨이브'), + ('71000000-0000-4000-8000-000000000092'::uuid, '72000000-0000-4000-8000-000000000092'::uuid, '롱 스타일 31', '트위스트 하프업'), + ('71000000-0000-4000-8000-000000000096'::uuid, '72000000-0000-4000-8000-000000000096'::uuid, '롱 스타일 35', '롱 비치 웨이브'), + ('71000000-0000-4000-8000-000000000047'::uuid, '72000000-0000-4000-8000-000000000047'::uuid, '컬리 스타일 03', '미디엄 컬리 헤어') +), renamed AS ( + UPDATE hairstyle_assets asset + SET style_name = reviewed.new_name, + asset_version = 'names-20261017', + updated_at = now() + FROM reviewed, files thumbnail + WHERE asset.hairstyle_id = reviewed.hairstyle_id + AND asset.thumbnail_file_id = reviewed.thumbnail_file_id + AND asset.style_name = reviewed.old_name + AND asset.active + AND thumbnail.file_id = asset.thumbnail_file_id + AND thumbnail.owner_type = 'SYSTEM' + AND thumbnail.purpose = 'HAIRSTYLE_THUMBNAIL' + RETURNING asset.thumbnail_file_id, asset.style_name +) +UPDATE files thumbnail +SET file_name = renamed.style_name || '.jpg', updated_at = now() +FROM renamed +WHERE thumbnail.file_id = renamed.thumbnail_file_id;