feat(edit): 定价试算开发、SKU 样式功能修改
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
SET search_path TO atlas, public;
|
||||
|
||||
-- 包装重量与尺寸可分别由商品通用值或逐 SKU 值填写;空草稿也需要保存模式。
|
||||
ALTER TABLE products
|
||||
ADD COLUMN package_weight_mode TEXT NOT NULL DEFAULT 'common'
|
||||
CHECK (package_weight_mode IN ('common', 'variant')),
|
||||
ADD COLUMN package_dimensions_mode TEXT NOT NULL DEFAULT 'common'
|
||||
CHECK (package_dimensions_mode IN ('common', 'variant'));
|
||||
|
||||
-- 旧编辑器在每个 SKU 都有对应覆盖值时即展示逐 SKU 表单,迁移时保留该显示模式。
|
||||
UPDATE products p
|
||||
SET package_weight_mode = 'variant'
|
||||
WHERE EXISTS (
|
||||
SELECT 1 FROM product_variants v WHERE v.product_id = p.id AND v.deleted_at IS NULL
|
||||
)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM product_variants v
|
||||
WHERE v.product_id = p.id AND v.deleted_at IS NULL AND v.shipping_weight_g IS NULL
|
||||
);
|
||||
|
||||
UPDATE products p
|
||||
SET package_dimensions_mode = 'variant'
|
||||
WHERE EXISTS (
|
||||
SELECT 1 FROM product_variants v WHERE v.product_id = p.id AND v.deleted_at IS NULL
|
||||
)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM product_variants v
|
||||
WHERE v.product_id = p.id AND v.deleted_at IS NULL
|
||||
AND (v.package_length_mm IS NULL OR v.package_width_mm IS NULL OR v.package_height_mm IS NULL)
|
||||
);
|
||||
Reference in New Issue
Block a user