瀏覽代碼

handling date/time overflow

debrand
kelvin.yau 1 周之前
父節點
當前提交
69b6ae65f2
共有 2 個文件被更改,包括 22 次插入 和 4 次删除
  1. +6
    -1
      scripts/anonymize_demo_copy.sql
  2. +16
    -3
      scripts/refresh_demo_dates.sql

+ 6
- 1
scripts/anonymize_demo_copy.sql 查看文件

@@ -416,8 +416,13 @@ BEGIN
WHERE deleted = 0 AND estimatedArrivalDate IS NOT NULL;

IF expiry_delta IS NOT NULL AND expiry_delta > 0 THEN
-- Clamp at DATE max so sentinel 9999-12-31 lots do not Error 1441.
UPDATE inventory_lot
SET expiryDate = DATE_ADD(expiryDate, INTERVAL expiry_delta DAY)
SET expiryDate = IF(
expiryDate > DATE_SUB('9999-12-31', INTERVAL expiry_delta DAY),
'9999-12-31',
DATE_ADD(expiryDate, INTERVAL expiry_delta DAY)
)
WHERE expiryDate IS NOT NULL;
END IF;



+ 16
- 3
scripts/refresh_demo_dates.sql 查看文件

@@ -52,20 +52,33 @@ SET @day_delta = IF(

START TRANSACTION;

-- Clamp at MySQL DATE/DATETIME max so sentinel 9999-12-31 lots do not Error 1441.
UPDATE inventory_lot
SET expiryDate = DATE_ADD(expiryDate, INTERVAL @day_delta DAY)
SET expiryDate = IF(
expiryDate > DATE_SUB('9999-12-31', INTERVAL @day_delta DAY),
'9999-12-31',
DATE_ADD(expiryDate, INTERVAL @day_delta DAY)
)
WHERE @refresh_guard = 'ok'
AND @day_delta > 0
AND expiryDate IS NOT NULL;

UPDATE delivery_order
SET estimatedArrivalDate = DATE_ADD(estimatedArrivalDate, INTERVAL @day_delta DAY)
SET estimatedArrivalDate = IF(
estimatedArrivalDate > DATE_SUB('9999-12-31 23:59:59', INTERVAL @day_delta DAY),
'9999-12-31 23:59:59',
DATE_ADD(estimatedArrivalDate, INTERVAL @day_delta DAY)
)
WHERE @refresh_guard = 'ok'
AND @day_delta > 0
AND estimatedArrivalDate IS NOT NULL;

UPDATE purchase_order
SET estimatedArrivalDate = DATE_ADD(estimatedArrivalDate, INTERVAL @day_delta DAY)
SET estimatedArrivalDate = IF(
estimatedArrivalDate > DATE_SUB('9999-12-31 23:59:59', INTERVAL @day_delta DAY),
'9999-12-31 23:59:59',
DATE_ADD(estimatedArrivalDate, INTERVAL @day_delta DAY)
)
WHERE @refresh_guard = 'ok'
AND @day_delta > 0
AND estimatedArrivalDate IS NOT NULL;


Loading…
取消
儲存