Add "product-products".is_ai_generated (#495)

* Add "product-products".is_ai_generated

* Add v_analytics_products.is_ai_generated

* Bump migration version

* Cleanup
This commit is contained in:
Rikard Bartholf
2025-08-21 11:09:06 +02:00
committed by GitHub
parent 622c60d1a5
commit 3ab90f25b3
+52
View File
@@ -0,0 +1,52 @@
DROP VIEW IF EXISTS public.v_analytics_products;
ALTER TABLE "product-products"
DROP COLUMN IF EXISTS "is_ai_generated";
ALTER TABLE "product-products"
ADD COLUMN "is_ai_generated" BOOLEAN NOT NULL DEFAULT false;
-- View: public.v_analytics_products
CREATE VIEW public.v_analytics_products
AS
SELECT products.productid AS product_id,
products.path AS product_path,
products.visible,
products.browsable,
products.inserted AS product_inserted,
products.updated AS product_updated,
designers.designerid AS designer_id,
designers.name AS designer_name,
products.ref1,
products.ref2,
products.ref3,
artno.value AS artno,
name.value AS product_name,
width.value::integer AS width,
height.value::integer AS height,
copyright.value AS copyright,
batch.value AS batch,
products.is_ai_generated,
COALESCE(products.updated, products.inserted) AS last_updated,
( SELECT s.uri
FROM v_interior_image_urls s
WHERE products.productid = s.productid AND (s.product_group = ANY (ARRAY[1, 3]))
ORDER BY s."position"
LIMIT 1) AS interior_primary_uri,
CASE
WHEN (EXISTS ( SELECT 1
FROM "product-printproducts" s
WHERE s.groupid = 3 AND s.productid = products.productid)) THEN true
ELSE false
END AS repeating_pattern
FROM "product-products" products
LEFT JOIN designers ON products.designerid = designers.designerid
LEFT JOIN "product-products_fields" artno ON artno.fieldid = 1 AND artno.productid = products.productid
LEFT JOIN "product-products_fields" name ON name.fieldid = 2 AND name.productid = products.productid
LEFT JOIN "product-products_fields" width ON width.fieldid = 5 AND width.productid = products.productid
LEFT JOIN "product-products_fields" height ON height.fieldid = 3 AND height.productid = products.productid
LEFT JOIN "product-products_fields" copyright ON copyright.fieldid = 25 AND copyright.productid = products.productid
LEFT JOIN "product-products_fields" batch ON batch.fieldid = 36 AND batch.productid = products.productid;
GRANT SELECT ON TABLE public.v_analytics_products TO datastudio;
GRANT SELECT ON TABLE public.v_analytics_products TO funnel;