Skip to content

Conversia pozelor existente intră în joburile de seed

Vitalie requested to merge 29_seed-convert-uploads into main

Închide #29 (closed). Depinde de !52 (merged) (codul de conversie) — se fuzionează după el.

Adaugă prisma/convert-uploads-to-webp.ts în ambele joburi de seed, imediat după rename-image-extensions.ts, care e precedentul exact: aceeași clasă de problemă — fișier redenumit plus adrese în baza de date.

Pozele încărcate înainte ca panoul să înceapă conversia sunt încă octeții bruți din aparat, hero-ul primei pagini printre ele: 158.584 de octeți de JPEG unde aceeași poză face 79.318 de WebP.

Cum lucrează scriptul

Ordinea e strictă: scrie fișierul nou → repointează baza → șterge originalul. O rulare oprită la mijloc lasă cel mult un fișier în plus, niciodată o pagină care arată spre nimic; rularea următoare termină treaba.

Rescrierea adreselor nu folosește o listă de câmpuri — mătură fiecare coloană TEXT/JSON din fiecare tabelă, exact ca rename-image-extensions.ts, tocmai ca o coloană adăugată peste trei luni să fie acoperită fără să-și amintească cineva. Ce acoperă azi: Banner.imageUrl/imageUrlMobile, Product.image/hoverImage/shareImage, ProductDetail.images/features, Collection.heroImage/aboutImage/railImage/shareImage/promoTiles, ContentListItem.image/secondaryImage/extra, ContentEntry.value, TherapyPage.comfortLeftImage/comfortRightImage/finalImage, HyperhubArticle.heroImage/shareImage, OrderItem.image.

Câmpurile de video pot ține și ele /uploads/…, dar scriptul nu convertește niciodată un video, deci nu le atinge.

Idempotent: un fișier deja convertit e .webp și se sare, deci rămâne în pipeline definitiv.

Propriul commit, din cauza unei capcane a acestui repo

workflow.rules din .gitlab-ci.yml are changes: [.gitlab-ci.yml] → when: never, deci orice modificare a acelui fișier își sare propriul pipeline. Codul pe care îl apelează e recenzat pe !52 (merged), care primește pipeline; aici rămâne doar linia care îl cheamă.

După fuziune trebuie apăsat seed:production — altfel pozele deja aflate pe volum rămân neconvertite.

Merge request reports