31 lines
1.4 KiB
Bash
31 lines
1.4 KiB
Bash
|
|
#!/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 для индексации"
|
|||
|
|
|