Files
BMS/bms-back/sql/price/price_set_version_eff_nullable.sql
T
2026-09-16 17:14:19 +08:00

24 lines
1.0 KiB
SQL

-- Draft package / version: effective dates nullable until activate
SET NAMES utf8mb4;
SET @db := DATABASE();
-- prc_price_set.effective_date
SET @nullable := (
SELECT IS_NULLABLE FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'prc_price_set' AND COLUMN_NAME = 'effective_date'
);
SET @sql := IF(@nullable = 'NO',
'ALTER TABLE prc_price_set MODIFY COLUMN effective_date DATE DEFAULT NULL COMMENT ''effective date (null until version activate)''',
'SELECT 1');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
-- prc_price_set_version.effective_time
SET @nullable := (
SELECT IS_NULLABLE FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'prc_price_set_version' AND COLUMN_NAME = 'effective_time'
);
SET @sql := IF(@nullable = 'NO',
'ALTER TABLE prc_price_set_version MODIFY COLUMN effective_time DATETIME DEFAULT NULL COMMENT ''version start time (null until activate)''',
'SELECT 1');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;