Поиск Sticky Any Post

someone

сисадмин сервера 0ed
Команда форума
Администратор
Регистрация
3 Апр 2006
Сообщения
624
Реакции
1.024
  • Автор темы
  • Модер.
  • #1
  • Автор темы
  • Модер.
  • #2
Поставил замену

[Spolzer] Sticky Post 1.1.0​

Для просмотра ссылки Войди или Зарегистрируйся

В чем то даже лучше будет. Рекомендую кому надо.

Заодно сделал скрипт миграции

Bash:
#!/bin/bash

#
# Migrate BS-StickyFirstPost -> Spolzer-StickyPost
#

DB="forum_xf5t"
BACKUP_FILE="xf_sp_sticky_post_backup_$(date +%s).sql"

echo "Резервное копирование xf_sp_sticky_post..."
mysqldump "$DB" xf_sp_sticky_post > "$BACKUP_FILE"
echo "Резервная копия сохранена в $BACKUP_FILE"

echo "Проверка количества записей для миграции..."
COUNT=$(mysql "$DB" -sN -e "SELECT COUNT(*) FROM xf_thread WHERE bs_is_sticky_first_post = 1 AND first_post_id > 0;")
echo "Будет мигрировано записей: $COUNT"

read -p "Продолжить? (y/n) " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
    echo "Отмена"
    exit 1
fi

echo "Выполнение миграции..."
mysql "$DB" <<'SQL'
START TRANSACTION;
TRUNCATE TABLE xf_sp_sticky_post;
INSERT INTO xf_sp_sticky_post (thread_id, post_id)
SELECT t.thread_id, t.first_post_id
FROM xf_thread AS t
WHERE t.bs_is_sticky_first_post = 1
  AND t.first_post_id > 0;
COMMIT;
SQL

echo "Проверка результата..."
RESULT=$(mysql "$DB" -sN -e "SELECT COUNT(*) FROM xf_sp_sticky_post;")
echo "Записей в xf_sp_sticky_post: $RESULT"

if [ "$COUNT" = "$RESULT" ]; then
    echo "Миграция успешна"
    exit 0
else
    echo "Ошибка: количество записей не совпадает"
    exit 1
fi
 
Назад
Сверху