27 lines
1.1 KiB
SQL
27 lines
1.1 KiB
SQL
DELETE FROM model_pricing_rules
|
|
WHERE resource_type = 'image_edit'
|
|
OR rule_key = 'image_edit';
|
|
|
|
DELETE FROM model_pricing_rules old_rule
|
|
USING model_pricing_rules image_rule
|
|
WHERE old_rule.rule_set_id IS NOT DISTINCT FROM image_rule.rule_set_id
|
|
AND old_rule.rule_key = 'image_generation'
|
|
AND image_rule.rule_key = 'image';
|
|
|
|
UPDATE model_pricing_rules
|
|
SET rule_key = 'image',
|
|
display_name = '图像',
|
|
resource_type = 'image',
|
|
unit = 'image',
|
|
base_price = 10,
|
|
base_weight = '{"meter":"count"}'::jsonb,
|
|
dynamic_weight = '{"resolutionFactors":{"1K":1,"2K":1.5,"3K":1.75,"4K":2,"8K":4},"qualityFactors":{"low":0.5,"medium":1,"high":1.5}}'::jsonb,
|
|
calculator_type = 'unit_weight',
|
|
dimension_schema = '{"dimensions":["count","resolution","quality"],"defaults":{"count":1,"quality":"medium","resolution":"1K"}}'::jsonb,
|
|
formula_config = '{"formula":"count * base_price * resolution_factor * quality_factor"}'::jsonb,
|
|
priority = 30,
|
|
metadata = metadata || '{"migration":"0008_pricing_image_single_rule"}'::jsonb,
|
|
updated_at = now()
|
|
WHERE resource_type = 'image'
|
|
AND rule_key IN ('image_generation', 'image');
|