P5-4777 move listprice to a new table
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
-- P5-4777: product list prices
|
||||
|
||||
-- remove listprice from v_esales_printproduct (re-create the view without the listprice column)
|
||||
DROP MATERIALIZED VIEW IF EXISTS v_esales_printproduct;
|
||||
|
||||
CREATE MATERIALIZED VIEW v_esales_printproduct AS
|
||||
SELECT main.id,
|
||||
main.product_id,
|
||||
main.path,
|
||||
main.article_number,
|
||||
main.title,
|
||||
main.group_id,
|
||||
main.group_name,
|
||||
main.type_id,
|
||||
main.type_name,
|
||||
main.image,
|
||||
main.thumbnail,
|
||||
main.width,
|
||||
main.height,
|
||||
CASE
|
||||
WHEN main.width::integer > main.height::integer THEN 'landscape'::text
|
||||
WHEN main.width::integer < main.height::integer THEN 'portrait'::text
|
||||
ELSE 'square'::text
|
||||
END AS orientation
|
||||
FROM ( SELECT pp.printid AS id,
|
||||
pp.productid AS product_id,
|
||||
( SELECT "product-products".path
|
||||
FROM "product-products"
|
||||
WHERE "product-products".productid = pp.productid
|
||||
LIMIT 1) AS path,
|
||||
( SELECT "product-products_fields".value
|
||||
FROM "product-products_fields"
|
||||
WHERE "product-products_fields".productid = pp.productid AND "product-products_fields".fieldid = (( SELECT "product-fields".fieldid
|
||||
FROM "product-fields"
|
||||
WHERE "product-fields".field::text = 'artNo'::text
|
||||
LIMIT 1))) AS article_number,
|
||||
( SELECT "product-products_fields".value
|
||||
FROM "product-products_fields"
|
||||
WHERE "product-products_fields".productid = pp.productid AND "product-products_fields".fieldid = (( SELECT "product-fields".fieldid
|
||||
FROM "product-fields"
|
||||
WHERE "product-fields".field::text = 'name'::text
|
||||
LIMIT 1))) AS title,
|
||||
pp.groupid AS group_id,
|
||||
( SELECT "product-groups"."group"
|
||||
FROM "product-groups"
|
||||
WHERE "product-groups".groupid = pp.groupid
|
||||
LIMIT 1) AS group_name,
|
||||
pp.typeid AS type_id,
|
||||
( SELECT "product-types".type
|
||||
FROM "product-types"
|
||||
WHERE "product-types".typeid = pp.typeid
|
||||
LIMIT 1) AS type_name,
|
||||
('//images.photowall.com/products/'::text || pp.productid) || '.jpg'::text AS image,
|
||||
('//images.photowall.com/products/'::text || pp.productid) || '.jpg?w=80'::text AS thumbnail,
|
||||
( SELECT "product-products_fields".value
|
||||
FROM "product-products_fields"
|
||||
WHERE "product-products_fields".productid = pp.productid AND "product-products_fields".fieldid = 5
|
||||
LIMIT 1) AS width,
|
||||
( SELECT "product-products_fields".value
|
||||
FROM "product-products_fields"
|
||||
WHERE "product-products_fields".productid = pp.productid AND "product-products_fields".fieldid = 3
|
||||
LIMIT 1) AS height
|
||||
FROM "product-printproducts" pp) main;
|
||||
|
||||
CREATE UNIQUE INDEX v_esales_printproduct_id
|
||||
ON v_esales_printproduct (id);
|
||||
|
||||
CREATE INDEX v_esales_printproduct_product_id
|
||||
ON v_esales_printproduct (product_id);
|
||||
|
||||
ALTER MATERIALIZED VIEW v_esales_printproduct OWNER TO photowall;
|
||||
|
||||
-- remove listprice from printproducts
|
||||
ALTER TABLE "product-printproducts"
|
||||
DROP COLUMN IF EXISTS listprice;
|
||||
|
||||
|
||||
-- create new table for listprices
|
||||
CREATE TABLE IF NOT EXISTS listprices
|
||||
(
|
||||
printproduct_id INTEGER NOT NULL,
|
||||
market_id INTEGER NOT NULL,
|
||||
listprice INTEGER,
|
||||
UNIQUE (printproduct_id, market_id)
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user