Files
railwaysystem/RuoYi-Vue/sql/train/v2/022_add_accommodation_lock_result.sql
T

53 lines
3.2 KiB
PL/PgSQL

-- ==============================================================================
-- RailwaySystem 数据库 V2 增量脚本: 022_add_accommodation_lock_result.sql
-- 目标: 为 train_accommodation 增加 lock_result (门锁授权结果)
-- 1. 新增列 lock_result SMALLINT NOT NULL DEFAULT 1
-- 取值: 1 未授权 / 2 已授权 / 3 已过期,默认 1(未授权)
-- 2. 新增字典类型 train_accommodation_lock_result 及其 3 个字典项
-- 适用数据库: KingbaseES V009R003C018 / PostgreSQL (schema: public)
-- 幂等性: ADD COLUMN IF NOT EXISTS + NOT EXISTS 判断,可重复执行
-- 说明: 仅新增列、列注释与字典数据,不涉及数据约束变更与业务逻辑调整
-- ==============================================================================
BEGIN;
-- 1. 新增门锁授权结果列
ALTER TABLE public.train_accommodation
ADD COLUMN IF NOT EXISTS lock_result SMALLINT NOT NULL DEFAULT 1;
COMMENT ON COLUMN public.train_accommodation.lock_result IS '门锁授权结果 (1:未授权, 2:已授权, 3:已过期)';
-- 2. 字典类型
INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, remark)
SELECT '住宿门锁授权结果', 'train_accommodation_lock_result', '0', 'admin', CURRENT_TIMESTAMP,
'住宿记录请求门锁接口的授权结果 (1 未授权, 2 已授权, 3 已过期)'
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type WHERE dict_type = 'train_accommodation_lock_result');
-- 3. 字典项
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, list_class, is_default, status, create_by, create_time, remark)
SELECT 1, '未授权', '1', 'train_accommodation_lock_result', 'info', 'Y', '0', 'admin', CURRENT_TIMESTAMP, '尚未取得门锁授权'
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data
WHERE dict_type = 'train_accommodation_lock_result' AND dict_value = '1');
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, list_class, is_default, status, create_by, create_time, remark)
SELECT 2, '已授权', '2', 'train_accommodation_lock_result', 'success', 'N', '0', 'admin', CURRENT_TIMESTAMP, '门锁接口已返回授权成功'
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data
WHERE dict_type = 'train_accommodation_lock_result' AND dict_value = '2');
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, list_class, is_default, status, create_by, create_time, remark)
SELECT 3, '已过期', '3', 'train_accommodation_lock_result', 'warning', 'N', '0', 'admin', CURRENT_TIMESTAMP, '授权已到期失效'
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data
WHERE dict_type = 'train_accommodation_lock_result' AND dict_value = '3');
COMMIT;
-- ==============================================================================
-- 核对语句(可选,只读):
-- SELECT column_name, data_type, column_default, is_nullable
-- FROM information_schema.columns
-- WHERE table_name = 'train_accommodation' AND column_name = 'lock_result';
-- SELECT dict_code, dict_label, dict_value, list_class, is_default
-- FROM sys_dict_data WHERE dict_type = 'train_accommodation_lock_result'
-- ORDER BY dict_sort;
-- ==============================================================================