Files
boursecu_server/database/sql/show_product_details_patch.sql
T
2026-07-29 21:46:48 +03:30

38 lines
2.0 KiB
SQL

-- سوییچ «نمایش جزئیات اطلاعات محصول» + ستون توضیح محصولات
-- idempotent: چند بار قابل اجرا
-- • اولین بار: INSERT با value='true' (پیش‌فرض روشن)
-- • اجرای مجدد: value و is_active دست نمی‌خورند — title_fa / description / type / can_edit همیشه override می‌شوند
START TRANSACTION;
SET @db = DATABASE();
SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;
SET @sql = IF(
(SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'products' AND COLUMN_NAME = 'description') = 0,
'ALTER TABLE `products` ADD COLUMN `description` TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL',
'ALTER TABLE `products` MODIFY COLUMN `description` TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL'
);
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
SELECT 'show_product_details', 'true', 'نمایش جزئیات اطلاعات محصول', 1, 1,
'روشن: بعد از انتخاب محصول در صفحه خرید/فروش، متن توضیح محصول نمایش داده می‌شود. خاموش: توضیح نشان داده نمی‌شود.',
'switch'
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'show_product_details' LIMIT 1);
UPDATE `settings`
SET `title_fa` = 'نمایش جزئیات اطلاعات محصول',
`description` = 'روشن: بعد از انتخاب محصول در صفحه خرید/فروش، متن توضیح محصول نمایش داده می‌شود. خاموش: توضیح نشان داده نمی‌شود.',
`type` = 'switch',
`can_edit` = 1
WHERE `key` = 'show_product_details';
COMMIT;
SELECT `key`, `title_fa`, LEFT(`description`, 60) AS desc_preview, `can_edit`, `type`, `value`
FROM `settings`
WHERE `key` = 'show_product_details';