fix description

This commit is contained in:
2026-07-29 21:46:48 +03:30
parent e8651135d1
commit f921e97466
5 changed files with 60 additions and 7 deletions
@@ -93,8 +93,8 @@ PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
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 NULL',
'SELECT ''skip products.description'' AS info'
'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;
@@ -0,0 +1,18 @@
-- ستون products.description روی بعضی سرورها latin1 است → فارسی ذخیره نمی‌شود (MySQL 3988)
-- idempotent — چند بار قابل اجرا
SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;
SET @db = DATABASE();
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;
SELECT COLUMN_NAME, CHARACTER_SET_NAME, COLLATION_NAME, COLUMN_TYPE
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'products' AND COLUMN_NAME = 'description';
+4 -2
View File
@@ -7,11 +7,13 @@ 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 NULL',
'SELECT ''skip products.description'' AS info'
'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;