🐛 补收票登记金蝶单据字段迁移脚本,存量库缺 kingdee_bill_no、kingdee_status 两列
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
-- 收票登记:补金蝶单据字段
|
||||
-- 已有环境里的 blade_invoice_receipt 由更早一版的建表语句创建,缺 kingdee_bill_no /
|
||||
-- kingdee_status;建表语句用的是 CREATE TABLE IF NOT EXISTS,对已存在的表是空操作,
|
||||
-- 所以只跑建表脚本补不上这两列,必须走 ALTER。
|
||||
-- 以下语句可重复执行。
|
||||
SET @ddl_sql = (
|
||||
SELECT IF(COUNT(*) = 0,
|
||||
'ALTER TABLE `blade_invoice_receipt` ADD COLUMN `kingdee_bill_no` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT ''金蝶单据编号'' AFTER `current_processor`',
|
||||
'SELECT 1')
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'blade_invoice_receipt' AND COLUMN_NAME = 'kingdee_bill_no'
|
||||
);
|
||||
PREPARE ddl_stmt FROM @ddl_sql;
|
||||
EXECUTE ddl_stmt;
|
||||
DEALLOCATE PREPARE ddl_stmt;
|
||||
|
||||
-- 存量行取默认值 unsynced;收票记录只有 synced / failed / unsynced 三种取值
|
||||
SET @ddl_sql = (
|
||||
SELECT IF(COUNT(*) = 0,
|
||||
'ALTER TABLE `blade_invoice_receipt` ADD COLUMN `kingdee_status` varchar(30) COLLATE utf8mb4_general_ci NOT NULL DEFAULT ''unsynced'' COMMENT ''金蝶同步状态:unsynced未同步、synced已同步、failed同步失败'' AFTER `kingdee_bill_no`',
|
||||
'SELECT 1')
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'blade_invoice_receipt' AND COLUMN_NAME = 'kingdee_status'
|
||||
);
|
||||
PREPARE ddl_stmt FROM @ddl_sql;
|
||||
EXECUTE ddl_stmt;
|
||||
DEALLOCATE PREPARE ddl_stmt;
|
||||
|
||||
SET @ddl_sql = (
|
||||
SELECT IF(COUNT(*) = 0,
|
||||
'ALTER TABLE `blade_invoice_receipt` ADD KEY `idx_invoice_receipt_kingdee` (`kingdee_status`)',
|
||||
'SELECT 1')
|
||||
FROM information_schema.STATISTICS
|
||||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'blade_invoice_receipt' AND INDEX_NAME = 'idx_invoice_receipt_kingdee'
|
||||
);
|
||||
PREPARE ddl_stmt FROM @ddl_sql;
|
||||
EXECUTE ddl_stmt;
|
||||
DEALLOCATE PREPARE ddl_stmt;
|
||||
|
||||
-- 旧列 kingdee_received_invoice_no / kingdee_received_invoice_id / kingdee_push_status /
|
||||
-- kingdee_push_msg / kingdee_push_time 在代码里已无任何引用,且取值集合与新模型对不上
|
||||
-- (旧值 pushed / assigned 在新模型里不存在),故不搬运数据,保持原样不动。
|
||||
Reference in New Issue
Block a user