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

Друзья!

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

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

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

Выглядит это так:

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

Скачать скрипт

Файл "/download/tools/dbrepair1.zip" не найден!

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

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

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

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

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

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

Жму кнопку выполнить запрос, а в ответ тишина!
Пвтался в ручную в БД сделать этот запрос: выдал ошибку!!!
InstantCMS 13 января 2009 в 18:06 0
small user social cms
Дмитрий, спасибо за отзыв!
Попробуйте скачать архив (перезалили) и повторить действия еще раз
0 13 января 2009 в 18:09 0
no avatar
Скрипт проверяет целостность только самой последней версии движка? Можно ли проверить им базу данных более поздней версии движка? А скрипт очень полезный...спасибо!
InstantCMS 13 января 2009 в 18:13 0
small user social cms
22zona, сравнение идет со структурой базы от 1.1rc3
но для младших версий его тоже можно использовать, хотя и мало смысла
Дмитрий 13 января 2009 в 18:26 0
Сделал всё заново,поменял файлы и проделал теже действия! Результат тот же что и в первом случае!
0 13 января 2009 в 20:40 0
no avatar
Через пару секунд выдаёт следующее:
Fatal error: Call to undefined function: array_diff_key() in /home/.../backups/repair.php on line 42
InstantCMS 13 января 2009 в 20:44 0
small user social cms
Алексей, какая версия php?
Для работы скрипта требуется PHP 5 >= 5.1.0
0 13 января 2009 в 21:11 0
no avatar
Разобрался, подключил php5, был 4.4.4 ... Всё заработало :)
>>Структура БД совпадает с эталоном.
>>Все таблицы имеют нужные поля. Изменения не требуются.
dance
almond 14 января 2009 в 11:11 0
small user social cms
Проверил на паре сайтов. Все в порядке с моими БД, судя по результату.
0 14 января 2009 в 13:29 0
no avatar
Извини у меня сверху вот что: Структура БД нарушена!

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
Начинаю устранять он ещё больше ошибок выдать может...
СергейР 14 января 2009 в 20:33 0
small user social cms
Всё о-кей. Выдаётся текст:

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

Хостинг Jino. Не подумайте, что реклама. Просто к сведению
Madmax 14 января 2009 в 20:48 0
small user social cms
Проверил на www.kvim76.ru - хостинг - www.1gb.ru

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

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

Спасибо за скрипт. Очень нужная весч :)
zagrenat 16 января 2009 в 13:04 0
а у меня вааще ниче не выводит, вроде исполняет. но пустой лист
0 16 января 2009 в 19:14 0
no avatar
Алексей, если ты про версию PHP, то она 5, сайт на Денвере. Всё таже проблема, может кто подскажет, как решить... :(
0 18 января 2009 в 23:18 0
no avatar
Я думаю просто напросто скачать новый денвер. По-любому в этом проблемма :)
0 19 января 2009 в 08:59 0
no avatar
В смысле новый??  Денвера 4 ещё нет...
0 19 января 2009 в 14:59 0
no avatar
Кстати, включаю php5 на хостинге - Перестаёт работать codegen.php ...
...
...
AneJIbcuH, ну Я к тому, что компоненты этого денвера не все новые.. Или нет каких-то плагинов. Ты на ЛокалХосте тестишь? Попробую на платном хосте где-нибудь.
0 27 января 2009 в 01:25 0
no avatar
Спасибо за скрипт, с моей БД (но точнее с БД моего проекта) всё в полном порядке. v
0 10 февраля 2009 в 18:40 0
no avatar
Дерево разделов для статей — найдены ошибки!
Дерево фотоальбомов — ошибок не найдено
Дерево разделов доски объявлений — ошибок не найдено
жму исправить, но исправлений не происходит
0 24 апреля 2009 в 09:41 0
no avatar
У меня пишет всё норм ( ток я ненаю .. структура дерева статей всё равно нарушена ( как исправиииить (
0 20 апреля 2010 в 06:10 0
no avatar
такая-же проблема, уже не знаю чего в ней нет, обновлял запрос к категориям и всё-равно нарушение вложений выдает
0 20 апреля 2010 в 06:14 0
no avatar
да и файла со скриптом нема... убрали??
InstantCMS 20 апреля 2010 в 07:08 0
small user social cms
Скрипт давным-давно интегрирован в админку, новость актуальности не имеет
Будьте внимательны
nedoriko 30 сентября 2013 в 19:03 0
small user social cms
а есть такое для 1.9 и выше?