38 lines
2.0 KiB
SQL
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';
|