corregidos bugs de: ret, vs delivery, efectivo vs link, charsets, price query
This commit is contained in:
44
db/migrations/20260126100000_schedule_jsonb.sql
Normal file
44
db/migrations/20260126100000_schedule_jsonb.sql
Normal file
@@ -0,0 +1,44 @@
|
||||
-- migrate:up
|
||||
|
||||
-- Agregar columna schedule JSONB para horarios flexibles por día
|
||||
-- Estructura: { "delivery": { "lun": { "start": "09:00", "end": "14:00" }, ... }, "pickup": { ... } }
|
||||
ALTER TABLE tenant_settings
|
||||
ADD COLUMN IF NOT EXISTS schedule JSONB DEFAULT '{}';
|
||||
|
||||
-- Migrar datos existentes al nuevo formato
|
||||
UPDATE tenant_settings
|
||||
SET schedule = jsonb_build_object(
|
||||
'delivery', CASE
|
||||
WHEN delivery_enabled AND delivery_days IS NOT NULL THEN (
|
||||
SELECT jsonb_object_agg(
|
||||
day,
|
||||
jsonb_build_object(
|
||||
'start', COALESCE(delivery_hours_start::text, '09:00'),
|
||||
'end', COALESCE(delivery_hours_end::text, '18:00')
|
||||
)
|
||||
)
|
||||
FROM unnest(string_to_array(delivery_days, ',')) AS day
|
||||
WHERE day IS NOT NULL AND day != ''
|
||||
)
|
||||
ELSE '{}'::jsonb
|
||||
END,
|
||||
'pickup', CASE
|
||||
WHEN pickup_enabled AND pickup_days IS NOT NULL THEN (
|
||||
SELECT jsonb_object_agg(
|
||||
day,
|
||||
jsonb_build_object(
|
||||
'start', COALESCE(pickup_hours_start::text, '08:00'),
|
||||
'end', COALESCE(pickup_hours_end::text, '20:00')
|
||||
)
|
||||
)
|
||||
FROM unnest(string_to_array(pickup_days, ',')) AS day
|
||||
WHERE day IS NOT NULL AND day != ''
|
||||
)
|
||||
ELSE '{}'::jsonb
|
||||
END
|
||||
)
|
||||
WHERE schedule = '{}' OR schedule IS NULL;
|
||||
|
||||
-- migrate:down
|
||||
|
||||
ALTER TABLE tenant_settings DROP COLUMN IF EXISTS schedule;
|
||||
Reference in New Issue
Block a user