Скрипт для проверки целостности базы

9.88K

Друзья!

Анализируя ваши сообщения о найденных багах мы пришли к выводу что часть из них может быть связана с повреждениями структуры БД.

Предлагаем всем желающим проверить базу своего сайта на InstantCMS при помощи простого скрипта.

Он делает две вещи: проверяет что в базе есть все необходимые таблицы и что каждая из них содержит все нужные поля. Если обнаруживаются отличия структуры вашей базы от эталона, скрипт генерирует SQL запросы для исправления.

Конечно, исправления вносимые этим скриптом не гарантируют что абсолютно все заработает как надо, т.к. есть еще ошибки в коде (ждем обновления 1-2 февраля). Но встречаются проблемы которые зависят только от базы и могут быть устранены после ее правки.

Как пользоваться?

  1. Распакуйте архив в папку /backups/ вашего сайта и убедитесь что она доступна для записи (права 755)
  2. Запустите скрипт перейдя по адресу www.ваш-сайт.ru/backups/repair.php
  3. Дождитесь вывода страницы с отчетом.

В ближайших версиях системы этот скрипт будет интегрирован в админку, а пока нам очень важны ваши отзывы по поводу его эффективности.

PS: не забываем делать бекапы!

Поддержите проект

Вы можете стать официальным спонсором или оказать другую поддержку. Вы также здорово поможете, если поставите звезду на GitHub.

0
Дмитрий 15 лет назад #
Прога выдала вот такую ошибку: Таблица "cms_user_profiles" отличается по структуре!
Не хватает полей:
cm_subscribe
varchar(4) DEFAULT `` NOT NULL

Дала запрос на БД вот такой: ALTER TABLE `cms_user_profiles` ADD `cm_subscribe` varchar(4) DEFAULT ' NOT NULL;

Жму кнопку выполнить запрос, а в ответ тишина!
Пвтался в ручную в БД сделать этот запрос: выдал ошибку!!!
0
InstantCMS InstantCMS 15 лет назад #
Дмитрий, спасибо за отзыв!
Попробуйте скачать архив (перезалили) и повторить действия еще раз
0
15 лет назад #
Скрипт проверяет целостность только самой последней версии движка? Можно ли проверить им базу данных более поздней версии движка? А скрипт очень полезный...спасибо!
0
InstantCMS InstantCMS 15 лет назад #
22zona, сравнение идет со структурой базы от 1.1rc3
но для младших версий его тоже можно использовать, хотя и мало смысла
0
Дмитрий 15 лет назад #
Сделал всё заново,поменял файлы и проделал теже действия! Результат тот же что и в первом случае!
0
15 лет назад #
Через пару секунд выдаёт следующее:
Fatal error: Call to undefined function: array_diff_key() in /home/.../backups/repair.php on line 42
0
InstantCMS InstantCMS 15 лет назад #
Алексей, какая версия php?
Для работы скрипта требуется PHP 5 >= 5.1.0
0
15 лет назад #
Разобрался, подключил php5, был 4.4.4 ... Всё заработало :)
>>Структура БД совпадает с эталоном.
>>Все таблицы имеют нужные поля. Изменения не требуются.
dance
0
almond almond 15 лет назад #
Проверил на паре сайтов. Все в порядке с моими БД, судя по результату.
0
15 лет назад #
Извини у меня сверху вот что: Структура БД нарушена!

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in Z:homelocalhostwwwackups
epair.php on line 35

Warning: array_diff_key() [function.array-diff-key]: Argument #2 is not an array in Z:homelocalhostwwwackups
epair.php on line 42

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in Z:homelocalhostwwwackups
epair.php on line 35

Warning: array_diff_key() [function.array-diff-key]: Argument #2 is not an array in Z:homelocalhostwwwackups
epair.php on line 42

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in Z:homelocalhostwwwackups
epair.php on line 35

Warning: array_diff_key() [function.array-diff-key]: Argument #2 is not an array in Z:homelocalhostwwwackups
epair.php on line 42

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in Z:homelocalhostwwwackups
epair.php on line 35

Warning: array_diff_key() [function.array-diff-key]: Argument #2 is not an array in Z:homelocalhostwwwackups
epair.php on line 42

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in Z:homelocalhostwwwackups
epair.php on line 35

Warning: array_diff_key() [function.array-diff-key]: Argument #2 is not an array in Z:homelocalhostwwwackups
epair.php on line 42

Ну и далее какие ошибки и их устранение sad
Начинаю устранять он ещё больше ошибок выдать может...
0
СергейР СергейР 15 лет назад #
Всё о-кей. Выдаётся текст:

Структура БД совпадает с эталоном.
Все таблицы имеют нужные поля. Изменения не требуются.

Хостинг Jino. Не подумайте, что реклама. Просто к сведению
0
Madmax Madmax 15 лет назад #
Проверил на www.kvim76.ru - хостинг - www.1gb.ru

- Структура БД совпадает с эталоном.
- Все таблицы имеют нужные поля. Изменения не требуются.

Все отлично работает...
0
15 лет назад #
AneJIbcuH, Выше ошибка описана, читай внимательней smile
0
15 лет назад #
Проверил на http://rodnaya26.ru - хостинг agava.ru
- Структура БД совпадает с эталоном.
- Все таблицы имеют нужные поля. Изменения не требуются.

Спасибо за скрипт. Очень нужная весч :)
0
zagrenat 15 лет назад #
а у меня вааще ниче не выводит, вроде исполняет. но пустой лист
0
15 лет назад #
Алексей, если ты про версию PHP, то она 5, сайт на Денвере. Всё таже проблема, может кто подскажет, как решить... :(
0
15 лет назад #
Я думаю просто напросто скачать новый денвер. По-любому в этом проблемма :)
0
15 лет назад #
В смысле новый?? Денвера 4 ещё нет...
0
15 лет назад #
Кстати, включаю php5 на хостинге - Перестаёт работать codegen.php ...
...
...
AneJIbcuH, ну Я к тому, что компоненты этого денвера не все новые.. Или нет каких-то плагинов. Ты на ЛокалХосте тестишь? Попробую на платном хосте где-нибудь.
0
15 лет назад #
Спасибо за скрипт, с моей БД (но точнее с БД моего проекта) всё в полном порядке. v
0
15 лет назад #
Дерево разделов для статей — найдены ошибки!
Дерево фотоальбомов — ошибок не найдено
Дерево разделов доски объявлений — ошибок не найдено
жму исправить, но исправлений не происходит
0
15 лет назад #
У меня пишет всё норм ( ток я ненаю .. структура дерева статей всё равно нарушена ( как исправиииить (
0
14 лет назад #
такая-же проблема, уже не знаю чего в ней нет, обновлял запрос к категориям и всё-равно нарушение вложений выдает
0
14 лет назад #
да и файла со скриптом нема... убрали??
0
InstantCMS InstantCMS 14 лет назад #
Скрипт давным-давно интегрирован в админку, новость актуальности не имеет
Будьте внимательны
0
nedoriko nedoriko 11 лет назад #
а есть такое для 1.9 и выше?
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.