hyapp-server/scripts/mysql/034_remove_usd_balance_withdrawal_requests.sql

56 lines
1.6 KiB
SQL

-- Remove the obsolete generic USD withdrawal request table from the wallet database.
-- Salary settlement now writes role-specific wallets only:
-- HOST_SALARY_USD, AGENCY_SALARY_USD, BD_SALARY_USD, ADMIN_SALARY_USD.
-- Keep an archive copy before dropping the source table so production history is not lost.
SET @source_exists := (
SELECT COUNT(*)
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'wallet_withdrawal_requests'
);
SET @archive_exists := (
SELECT COUNT(*)
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'wallet_withdrawal_requests_removed_20260602'
);
SET @sql := IF(
@source_exists = 1 AND @archive_exists = 0,
'CREATE TABLE wallet_withdrawal_requests_removed_20260602 LIKE wallet_withdrawal_requests',
'SELECT 1'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql := IF(
@source_exists = 1,
'INSERT IGNORE INTO wallet_withdrawal_requests_removed_20260602 SELECT * FROM wallet_withdrawal_requests',
'SELECT 1'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql := IF(
@source_exists = 1,
'DROP TABLE wallet_withdrawal_requests',
'SELECT 1'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SELECT
SUM(TABLE_NAME = 'wallet_withdrawal_requests') AS source_table_exists,
SUM(TABLE_NAME = 'wallet_withdrawal_requests_removed_20260602') AS archive_table_exists
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME IN (
'wallet_withdrawal_requests',
'wallet_withdrawal_requests_removed_20260602'
);