fix pargar and login
This commit is contained in:
@@ -2,18 +2,10 @@
|
||||
-- ستون pargar_sync_logs.amount با float() ساخته شده بود = DOUBLE(8,2) با سقف ۹۹۹٬۹۹۹٫۹۹
|
||||
-- هر سند واریز/برداشت ریالی بزرگتر از این سقف در insert خطا میداد و سند اصلاً ساخته نمیشد،
|
||||
-- پس پرگار واریز مشتری را نمیدید و در تطبیق مانده، موجودی ریالی کیف صفر میشد.
|
||||
-- DECIMAL(20,2) برای مبالغ میلیاردی کافی است.
|
||||
-- idempotent: چند بار قابل اجرا
|
||||
|
||||
SET @db = DATABASE();
|
||||
|
||||
SET @sql = IF(
|
||||
(SELECT COUNT(*) FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'pargar_sync_logs'
|
||||
AND COLUMN_NAME = 'amount' AND UPPER(COLUMN_TYPE) <> 'DOUBLE') = 1,
|
||||
'ALTER TABLE `pargar_sync_logs` MODIFY `amount` DOUBLE NULL',
|
||||
'SELECT ''skip pargar_sync_logs.amount'' AS info'
|
||||
);
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
ALTER TABLE `pargar_sync_logs` MODIFY `amount` DECIMAL(20, 2) NULL;
|
||||
|
||||
SELECT COLUMN_NAME, COLUMN_TYPE, IS_NULLABLE
|
||||
FROM information_schema.COLUMNS
|
||||
|
||||
Reference in New Issue
Block a user