Files
BMS/bms-back/sql/price/rename_create_update_time.sql
T
2026-09-14 09:13:29 +08:00

58 lines
3.8 KiB
SQL

-- Rename created_at -> create_time, updated_at -> update_time
-- Price/billing/zone tables created for BMS. Safe to re-run.
DROP PROCEDURE IF EXISTS bms_rename_col;
DELIMITER $$
CREATE PROCEDURE bms_rename_col(IN tbl VARCHAR(64), IN old_col VARCHAR(64), IN new_col VARCHAR(64), IN col_def VARCHAR(255))
BEGIN
IF EXISTS (
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = tbl AND COLUMN_NAME = old_col
) AND NOT EXISTS (
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = tbl AND COLUMN_NAME = new_col
) THEN
SET @sql = CONCAT('ALTER TABLE `', tbl, '` CHANGE COLUMN `', old_col, '` `', new_col, '` ', col_def);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END IF;
END$$
DELIMITER ;
-- DATETIME NULL
CALL bms_rename_col('prc_price_set', 'created_at', 'create_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('prc_price_set', 'updated_at', 'update_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('prc_price_set_detail', 'created_at', 'create_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('prc_price_set_detail', 'updated_at', 'update_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('prc_customer_price_set', 'created_at', 'create_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('prc_customer_price_set', 'updated_at', 'update_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('prc_surcharge', 'created_at', 'create_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('prc_surcharge', 'updated_at', 'update_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('prc_surcharge_rel', 'created_at', 'create_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('prc_surcharge_rel', 'updated_at', 'update_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('prc_quote', 'created_at', 'create_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('prc_quote', 'updated_at', 'update_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('prc_quote_fee', 'created_at', 'create_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('prc_bill', 'created_at', 'create_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('prc_bill', 'updated_at', 'update_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('prc_bill_fee', 'created_at', 'create_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('xtd_zone_scheme', 'created_at', 'create_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('xtd_zone_scheme', 'updated_at', 'update_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('xtd_zone_division', 'created_at', 'create_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('xtd_zone_division', 'updated_at', 'update_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('xtd_zonecountry', 'created_at', 'create_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('xtd_zonecountry', 'updated_at', 'update_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('prc_weight_section_template', 'created_at', 'create_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('prc_weight_section_template', 'updated_at', 'update_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('prc_weight_section_detail', 'created_at', 'create_time', 'DATETIME DEFAULT NULL');
CALL bms_rename_col('prc_weight_section_detail', 'updated_at', 'update_time', 'DATETIME DEFAULT NULL');
-- product tables keep timestamp defaults
CALL bms_rename_col('bms_product', 'created_at', 'create_time', 'datetime NOT NULL DEFAULT CURRENT_TIMESTAMP');
CALL bms_rename_col('bms_product', 'updated_at', 'update_time', 'datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP');
CALL bms_rename_col('bms_product_country', 'created_at', 'create_time', 'datetime NOT NULL DEFAULT CURRENT_TIMESTAMP');
CALL bms_rename_col('bms_product_country', 'updated_at', 'update_time', 'datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP');
DROP PROCEDURE IF EXISTS bms_rename_col;