fix some bugs

This commit is contained in:
2026-07-14 22:03:39 +03:30
parent 34bf65bc37
commit dc095e47cd
9 changed files with 1028 additions and 3 deletions
+75
View File
@@ -425,11 +425,86 @@ PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
-- ---------------------------------------------------------------------------
-- wallets / transactions — ستون‌های ماژول جدید روی پکیج قدیمی wallet
-- (خطای /customer/me: Unknown column 'product_id' ... from `wallets`)
-- جزئیات کامل: ensure_wallet_module_columns.sql
-- ---------------------------------------------------------------------------
SET @sql = IF(
(SELECT COUNT(*) FROM information_schema.TABLES
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'wallets') > 0
AND (SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'wallets' AND COLUMN_NAME = 'product_id') = 0,
IF(
(SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'wallets' AND COLUMN_NAME = 'fund_id') > 0,
'ALTER TABLE `wallets` ADD COLUMN `product_id` INT NULL DEFAULT NULL AFTER `fund_id`',
'ALTER TABLE `wallets` ADD COLUMN `product_id` INT NULL DEFAULT NULL'
),
'SELECT ''skip wallets.product_id'' AS info'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
(SELECT COUNT(*) FROM information_schema.TABLES
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'wallets') > 0
AND (SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'wallets' AND COLUMN_NAME = 'number') = 0,
IF(
(SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'wallets' AND COLUMN_NAME = 'product_id') > 0,
'ALTER TABLE `wallets` ADD COLUMN `number` INT NOT NULL DEFAULT 0 AFTER `product_id`',
'ALTER TABLE `wallets` ADD COLUMN `number` INT NOT NULL DEFAULT 0'
),
'SELECT ''skip wallets.number'' AS info'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
(SELECT COUNT(*) FROM information_schema.TABLES
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'transactions') > 0
AND (SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'transactions' AND COLUMN_NAME = 'product_id') = 0,
IF(
(SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'transactions' AND COLUMN_NAME = 'type') > 0,
'ALTER TABLE `transactions` ADD COLUMN `product_id` INT NULL DEFAULT NULL AFTER `type`',
'ALTER TABLE `transactions` ADD COLUMN `product_id` INT NULL DEFAULT NULL'
),
'SELECT ''skip transactions.product_id'' AS info'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
(SELECT COUNT(*) FROM information_schema.TABLES
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'transactions') > 0
AND (SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'transactions' AND COLUMN_NAME = 'order_id') = 0,
IF(
(SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'transactions' AND COLUMN_NAME = 'customer_id') > 0,
'ALTER TABLE `transactions` ADD COLUMN `order_id` INT NULL DEFAULT NULL AFTER `customer_id`',
'ALTER TABLE `transactions` ADD COLUMN `order_id` INT NULL DEFAULT NULL'
),
'SELECT ''skip transactions.order_id'' AS info'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
-- ---------------------------------------------------------------------------
-- پایان — برای بورس‌مس (اختیاری، جدا اجرا کنید):
-- UPDATE `settings` SET `value` = 'کیلوگرم' WHERE `key` = 'unit';
--
-- بذر طلا — merge settings + const (modular + legacy):
-- SOURCE bazre_tala_settings_update.sql;
--
-- wallet کامل‌تر (title/unit/balance/...): SOURCE ensure_wallet_module_columns.sql;
-- ---------------------------------------------------------------------------
SELECT 'deploy_safe_schema.sql finished' AS status;