-- =============================================================================
-- debtAmount 并入 balance — 加字段 balanceMerged（在线 DDL，尽量避免锁表）
-- =============================================================================
-- 执行前确认列不存在（已存在则跳过该表）：
--   SELECT TABLE_NAME, COLUMN_NAME FROM information_schema.COLUMNS
--   WHERE TABLE_SCHEMA = DATABASE()
--     AND TABLE_NAME IN ('xhGhsCustom', 'xhGhs')
--     AND COLUMN_NAME = 'balanceMerged';
--
-- 少锁表做法：
--   · 列加在表末尾（不写 AFTER debtAmount），避免为「插中间列」触发拷表
--   · NOT NULL DEFAULT 0，无需 UPDATE 回填
--   · ALGORITHM=INPLACE, LOCK=NONE：允许并发 DML（MySQL 5.7+/8.0 常见）
--   · 8.0 若支持 INSTANT，可把 INPLACE 换成 INSTANT（变更更快、锁更短）
--   · 极大表或仍阻塞时，用 pt-online-schema-change / gh-ost 加同名列
--
-- 业务合并：bizGhs\custom\classes\AccountMoneyClass
-- =============================================================================

SET SESSION lock_wait_timeout = 10;

ALTER TABLE `xhGhsCustom`
    ADD COLUMN `balanceMerged` tinyint(1) NOT NULL DEFAULT 0 COMMENT '挂账已并入余额:0否1是',
    ALGORITHM = INPLACE,
    LOCK = NONE;

ALTER TABLE `xhGhs`
    ADD COLUMN `balanceMerged` tinyint(1) NOT NULL DEFAULT 0 COMMENT '挂账已并入余额:0否1是',
    ALGORITHM = INPLACE,
    LOCK = NONE;
