相关问题优化以及新功能开发
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m57s
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m57s
迁移 155- 157
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
ALTER TABLE tb_iot_card_import_task DROP COLUMN IF EXISTS creator_name;
|
||||
ALTER TABLE tb_device_import_task DROP COLUMN IF EXISTS creator_name;
|
||||
@@ -0,0 +1,7 @@
|
||||
-- 为 IoT 卡导入任务表和设备导入任务表添加操作人快照字段
|
||||
-- 旧记录 creator_name 留空字符串,新任务创建时从登录用户快照姓名
|
||||
ALTER TABLE tb_iot_card_import_task
|
||||
ADD COLUMN IF NOT EXISTS creator_name varchar(100) NOT NULL DEFAULT '';
|
||||
|
||||
ALTER TABLE tb_device_import_task
|
||||
ADD COLUMN IF NOT EXISTS creator_name varchar(100) NOT NULL DEFAULT '';
|
||||
@@ -0,0 +1,14 @@
|
||||
-- 回滚:jsonb 数组 → varchar(500),取第一个元素;空数组 → ''
|
||||
ALTER TABLE tb_order
|
||||
ALTER COLUMN payment_voucher_key TYPE varchar(500)
|
||||
USING COALESCE(payment_voucher_key->>0, '');
|
||||
|
||||
ALTER TABLE tb_refund_request
|
||||
ALTER COLUMN refund_voucher_key TYPE varchar(500)
|
||||
USING COALESCE(refund_voucher_key->>0, '');
|
||||
|
||||
ALTER TABLE tb_agent_recharge_record
|
||||
ALTER COLUMN payment_voucher_key TYPE varchar(500)
|
||||
USING COALESCE(payment_voucher_key->>0, '');
|
||||
|
||||
ALTER TABLE tb_agent_recharge_record DROP COLUMN IF EXISTS remark;
|
||||
@@ -0,0 +1,38 @@
|
||||
-- 将三个表的凭证字段从 varchar(500) 改为 jsonb 数组存储(最多5个元素)
|
||||
-- 同时为代理预充值记录新增 remark 备注字段
|
||||
-- 注意:旧数据可能为逗号分隔多路径,用 string_to_array 拆分为数组元素
|
||||
-- USING 子句中必须显式 ::text 转换,避免 PostgreSQL 隐式将空字符串转 jsonb 报错
|
||||
|
||||
-- tb_order.payment_voucher_key: 空/NULL → [],非空 → 按逗号拆分为数组
|
||||
ALTER TABLE tb_order
|
||||
ALTER COLUMN payment_voucher_key TYPE jsonb
|
||||
USING CASE
|
||||
WHEN payment_voucher_key IS NULL OR payment_voucher_key::text = '' THEN '[]'::jsonb
|
||||
ELSE to_jsonb(string_to_array(payment_voucher_key::text, ','))
|
||||
END;
|
||||
|
||||
-- tb_refund_request.refund_voucher_key: 先删除旧 varchar DEFAULT 再转类型
|
||||
ALTER TABLE tb_refund_request
|
||||
ALTER COLUMN refund_voucher_key DROP DEFAULT;
|
||||
|
||||
ALTER TABLE tb_refund_request
|
||||
ALTER COLUMN refund_voucher_key TYPE jsonb
|
||||
USING CASE
|
||||
WHEN refund_voucher_key IS NULL OR refund_voucher_key::text = '' THEN '[]'::jsonb
|
||||
ELSE to_jsonb(string_to_array(refund_voucher_key::text, ','))
|
||||
END;
|
||||
|
||||
ALTER TABLE tb_refund_request
|
||||
ALTER COLUMN refund_voucher_key SET DEFAULT '[]'::jsonb;
|
||||
|
||||
-- tb_agent_recharge_record.payment_voucher_key: 同 tb_order
|
||||
ALTER TABLE tb_agent_recharge_record
|
||||
ALTER COLUMN payment_voucher_key TYPE jsonb
|
||||
USING CASE
|
||||
WHEN payment_voucher_key IS NULL OR payment_voucher_key::text = '' THEN '[]'::jsonb
|
||||
ELSE to_jsonb(string_to_array(payment_voucher_key::text, ','))
|
||||
END;
|
||||
|
||||
-- tb_agent_recharge_record 新增 remark 备注字段(创建后只读,NULL 表示未填写)
|
||||
ALTER TABLE tb_agent_recharge_record
|
||||
ADD COLUMN IF NOT EXISTS remark text;
|
||||
@@ -0,0 +1 @@
|
||||
DROP TABLE IF EXISTS tb_order_package_invalidate_task;
|
||||
@@ -0,0 +1,25 @@
|
||||
CREATE TABLE IF NOT EXISTS tb_order_package_invalidate_task (
|
||||
id bigserial PRIMARY KEY,
|
||||
task_no varchar(50) NOT NULL UNIQUE,
|
||||
status int NOT NULL DEFAULT 1,
|
||||
total_count int NOT NULL DEFAULT 0,
|
||||
success_count int NOT NULL DEFAULT 0,
|
||||
fail_count int NOT NULL DEFAULT 0,
|
||||
failed_items jsonb NOT NULL DEFAULT '[]',
|
||||
file_name varchar(255) NOT NULL DEFAULT '',
|
||||
storage_key varchar(500) NOT NULL DEFAULT '',
|
||||
voucher_keys jsonb NOT NULL DEFAULT '[]',
|
||||
remark text NOT NULL DEFAULT '',
|
||||
creator_name varchar(100) NOT NULL DEFAULT '',
|
||||
error_message text NOT NULL DEFAULT '',
|
||||
started_at timestamptz,
|
||||
completed_at timestamptz,
|
||||
creator bigint NOT NULL DEFAULT 0,
|
||||
updater bigint NOT NULL DEFAULT 0,
|
||||
created_at timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
deleted_at timestamptz
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_order_pkg_inv_task_status ON tb_order_package_invalidate_task (status) WHERE deleted_at IS NULL;
|
||||
CREATE INDEX IF NOT EXISTS idx_order_pkg_inv_task_created_at ON tb_order_package_invalidate_task (created_at DESC) WHERE deleted_at IS NULL;
|
||||
Reference in New Issue
Block a user