Files
crm.clientright.ru/fix_indexes_collation.sh
Fedor 840acca51a feat(documents): дедупликация documents_meta и исправление field_label
- Исправлен N8N_CODE_PROCESS_UPLOADED_FILES_FIXED.js: использовать uploads_field_labels[0] вместо [grp]
- Создан SQL_CLAIMSAVE_FIXED_NEW_FLOW_DEDUP.sql с дедупликацией documents_meta
- Создан SQL_CLEANUP_DOCUMENTS_META_DUPLICATES.sql для очистки существующих дубликатов
- Создан полный уникальный индекс idx_document_texts_hash_unique на document_texts(file_hash)
- Добавлен SESSION_LOG_2025-11-28_documents_dedup.md с описанием всех изменений

Fixes:
- field_label теперь корректно отображает 'Переписка' вместо 'group-2'
- documents_meta не накапливает дубликаты при повторных сохранениях
- ON CONFLICT (file_hash) теперь работает для document_texts
2025-11-28 18:16:53 +03:00

31 lines
1.4 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# Исправление индексов с неправильной collation в Nextcloud
echo "=== ИСПРАВЛЕНИЕ ИНДЕКСОВ С НЕПРАВИЛЬНОЙ COLLATION ==="
echo ""
# Получаем список таблиц с проблемными индексами
docker exec nextcloud-db-fresh mariadb -unextcloud -pnextcloud_password nextcloud -e "
SELECT DISTINCT TABLE_NAME
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = 'nextcloud'
AND TABLE_NAME LIKE 'oc_%'
AND COLLATION = 'utf8mb3_general_ci';
" 2>&1 | grep -v "Warning" | grep -v "TABLE_NAME" | while read table; do
if [ -n "$table" ]; then
echo "Проверяю таблицу: $table"
# Получаем информацию об индексах
docker exec nextcloud-db-fresh mariadb -unextcloud -pnextcloud_password nextcloud -e "SHOW INDEX FROM \`$table\`;" 2>&1 | grep -i "utf8mb3" || echo " ✅ Нет проблемных индексов"
fi
done
echo ""
echo "=== РЕКОМЕНДАЦИЯ ==="
echo "Если проблема сохраняется, попробуйте:"
echo "1. Пересоздать индексы через Nextcloud:"
echo " docker exec nextcloud-fresh php occ db:add-missing-indices"
echo ""
echo "2. Или временно отключить синхронизацию в клиенте Nextcloud"
echo " и открыть файлы через Web UI для индексации"