56 lines
1.6 KiB
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'
|
|
);
|