Ошибка при обновлении (при попытке структурировать БД).

Ошибки, проблемы, способы их решения.
vv-master
Сообщения: 7
Зарегистрирован: 2010-05-07 1:30:59

Ошибка при обновлении (при попытке структурировать БД).

Сообщение vv-master » 2011-07-04 23:33:32

Добрый вечер!

На третьем шаге обновления выдает ошибку.

Код: Выделить всё

-- Резервное копирование базы данных

Файл (/usr/local/www/apache22/data/hosts/billing.vv-master.com/tmp/db/jbs_4e11fa3894464.sql.gz) резервной копии имеет размер 1212 Кб.




-- Восстановление профилей

Восстановлено 12 профилей


-- Патчи базы данных

Последний патч базы данных хоста (billing) (1000273)
Применение патча базы данных хоста (billing)
---
ALTER TABLE `Events` ADD KEY (`IsReaded`);
-- SEPARATOR
ALTER TABLE `Events` ADD KEY (`CreateDate`);
-- SEPARATOR
ALTER TABLE `Clauses` ADD KEY `ClausesPartition` (`Partition`) /* IF NOT EXISTS (SHOW KEYS FROM `Clauses` WHERE Key_name = 'ClausesPartition')*/;
-- SEPARATOR
ALTER TABLE `Clauses` ADD KEY `ClausesPublicDate` (`PublicDate`);
-- SEPARATOR
ALTER TABLE `Invoices` ADD KEY `InvoicesStatusID` (`StatusID`);
-- SEPARATOR
ALTER TABLE `Invoices` ADD KEY `InvoicesStatusDate` (`StatusDate`);
-- SEPARATOR
ALTER TABLE `Edesks` ADD KEY `EdesksStatusID` (`StatusID`);
-- SEPARATOR
ALTER TABLE `Edesks` ADD KEY `EdesksUpdateDate` (`UpdateDate`);
-- SEPARATOR
ALTER TABLE `Contracts` ADD KEY `ContractsTypeID` (`TypeID`);
-- SEPARATOR
ALTER TABLE `Tasks` ADD KEY `TasksCreateDate` (`CreateDate`);
-- SEPARATOR
ALTER TABLE `Tasks` ADD KEY `TasksIsActive` (`IsActive`);
-- SEPARATOR
ALTER TABLE `Tasks` ADD KEY `TasksIsExecuted` (`IsExecuted`);
-- SEPARATOR
ALTER TABLE `Tasks` ADD KEY `TasksExecuteDate` (`ExecuteDate`);
-- SEPARATOR
ALTER TABLE `Tasks` ADD KEY `TasksErrors` (`Errors`);
-- SEPARATOR
ALTER TABLE `MotionDocuments` ADD KEY `MotionDocumentsTypeID` (`TypeID`);
-- SEPARATOR
ALTER TABLE `MotionDocuments` ADD KEY `MotionDocumentsUniqID` (`UniqID`);
-- SEPARATOR
ALTER TABLE `Groups` ADD KEY `GroupsIsDepartment` (`IsDepartment`);
-- SEPARATOR
ALTER TABLE `Permissions` ADD KEY `PermissionsName` (`Name`);
-- SEPARATOR
ALTER TABLE `Permissions` ADD KEY `PermissionsMetric` (`Metric`);
-- SEPARATOR
ALTER TABLE `Profiles` ADD KEY `ProfilesTemplateID` (`TemplateID`);
-- SEPARATOR
ALTER TABLE `Profiles` ADD KEY `ProfilesStatusID` (`StatusID`);
-- SEPARATOR
ALTER TABLE `Profiles` ADD KEY `ProfilesStatusDate` (`StatusDate`);
-- SEPARATOR
ALTER TABLE `Users` ADD KEY `UsersEmail` (`Email`);
-- SEPARATOR
ALTER TABLE `Users` ADD KEY `UsersName` (`Name`);
-- SEPARATOR



---
ERROR: ошибка применения патча (Duplicate key name 'ClausesPartition')


Таким образом, код обновился, а базы - нет. После того как откатился на старую базу проблема осталась, как сделать downgrade версии кода не нашел информации.

Просьба помочь либо полностью обновиться до новой версии, либо откатиться на старую (была версия 1.4.5).

Аватара пользователя
Alex Keda
Сообщения: 2907
Зарегистрирован: 2009-10-07 14:30:54
Откуда: USSR
Поблагодарили: 20 раз

Re: Ошибка при обновлении (при попытке структурировать БД).

Сообщение Alex Keda » 2011-07-05 8:22:00

из файла

Код: Выделить всё

patches/billing/db/1000274.sql

удалите строки

Код: Выделить всё

-- SEPARATOR
ALTER TABLE `Clauses` ADD KEY `ClausesPartition` (`Partition`) /* IF NOT EXISTS (SHOW KEYS FROM `Clauses` WHERE Key_name = 'ClausesPartition')*/;

и запуститете третий шаг ещё раз
(первый/второй не надо - затрёт ваши изменения в патче)
Убей их всех! Бог потом рассортирует...

vv-master
Сообщения: 7
Зарегистрирован: 2010-05-07 1:30:59

Re: Ошибка при обновлении (при попытке структурировать БД).

Сообщение vv-master » 2011-07-05 12:06:00

Начинает ругаться на следующую строчку в этом файле:

Код: Выделить всё

-- Резервное копирование базы данных

Файл (/usr/local/www/apache22/data/hosts/billing.vv-master.com/tmp/db/jbs_4e12ac76bf241.sql.gz) резервной копии имеет размер 1212 Кб.




-- Восстановление профилей

Восстановлено 12 профилей


-- Патчи базы данных

Последний патч базы данных хоста (billing) (1000273)
Применение патча базы данных хоста (billing)
---
ALTER TABLE `Events` ADD KEY (`IsReaded`);
-- SEPARATOR
ALTER TABLE `Events` ADD KEY (`CreateDate`);
-- SEPARATOR
ALTER TABLE `Clauses` ADD KEY `ClausesPublicDate` (`PublicDate`);
-- SEPARATOR
ALTER TABLE `Invoices` ADD KEY `InvoicesStatusID` (`StatusID`);
-- SEPARATOR
ALTER TABLE `Invoices` ADD KEY `InvoicesStatusDate` (`StatusDate`);
-- SEPARATOR
ALTER TABLE `Edesks` ADD KEY `EdesksStatusID` (`StatusID`);
-- SEPARATOR
ALTER TABLE `Edesks` ADD KEY `EdesksUpdateDate` (`UpdateDate`);
-- SEPARATOR
ALTER TABLE `Contracts` ADD KEY `ContractsTypeID` (`TypeID`);
-- SEPARATOR
ALTER TABLE `Tasks` ADD KEY `TasksCreateDate` (`CreateDate`);
-- SEPARATOR
ALTER TABLE `Tasks` ADD KEY `TasksIsActive` (`IsActive`);
-- SEPARATOR
ALTER TABLE `Tasks` ADD KEY `TasksIsExecuted` (`IsExecuted`);
-- SEPARATOR
ALTER TABLE `Tasks` ADD KEY `TasksExecuteDate` (`ExecuteDate`);
-- SEPARATOR
ALTER TABLE `Tasks` ADD KEY `TasksErrors` (`Errors`);
-- SEPARATOR
ALTER TABLE `MotionDocuments` ADD KEY `MotionDocumentsTypeID` (`TypeID`);
-- SEPARATOR
ALTER TABLE `MotionDocuments` ADD KEY `MotionDocumentsUniqID` (`UniqID`);
-- SEPARATOR
ALTER TABLE `Groups` ADD KEY `GroupsIsDepartment` (`IsDepartment`);
-- SEPARATOR
ALTER TABLE `Permissions` ADD KEY `PermissionsName` (`Name`);
-- SEPARATOR
ALTER TABLE `Permissions` ADD KEY `PermissionsMetric` (`Metric`);
-- SEPARATOR
ALTER TABLE `Profiles` ADD KEY `ProfilesTemplateID` (`TemplateID`);
-- SEPARATOR
ALTER TABLE `Profiles` ADD KEY `ProfilesStatusID` (`StatusID`);
-- SEPARATOR
ALTER TABLE `Profiles` ADD KEY `ProfilesStatusDate` (`StatusDate`);
-- SEPARATOR
ALTER TABLE `Users` ADD KEY `UsersEmail` (`Email`);
-- SEPARATOR
ALTER TABLE `Users` ADD KEY `UsersName` (`Name`);
-- SEPARATOR



---
ERROR: ошибка применения патча (Duplicate key name 'ClausesPublicDate')


При удалении следующей - ругается на следующую и так до конца файла. Если удалить все строки до конца файла, то выдает:

Код: Выделить всё

-- Резервное копирование базы данных

Файл (/usr/local/www/apache22/data/hosts/billing.vv-master.com/tmp/db/jbs_4e12ad0f152a0.sql.gz) резервной копии имеет размер 1212 Кб.




-- Восстановление профилей

Восстановлено 12 профилей


-- Патчи базы данных

Последний патч базы данных хоста (billing) (1000273)
Применение патча базы данных хоста (billing)
---
ALTER TABLE `Events` ADD KEY (`IsReaded`);
-- SEPARATOR
ALTER TABLE `Events` ADD KEY (`CreateDate`);
-- SEPARATOR


---
ERROR: ошибка применения патча (Query was empty)

Аватара пользователя
Alex Keda
Сообщения: 2907
Зарегистрирован: 2009-10-07 14:30:54
Откуда: USSR
Поблагодарили: 20 раз

Re: Ошибка при обновлении (при попытке структурировать БД).

Сообщение Alex Keda » 2011-07-05 12:16:41

файл не должен быть пустой
вверните внутрь запрос какойнить, типа

Код: Выделить всё

optimize table Tasks;
Убей их всех! Бог потом рассортирует...

vv-master
Сообщения: 7
Зарегистрирован: 2010-05-07 1:30:59

Re: Ошибка при обновлении (при попытке структурировать БД).

Сообщение vv-master » 2011-07-05 13:34:25

Говорит, что "Too many keys specified; max 64 keys allowed", может другой какой-нибудь посоветуете ввернуть.

Код: Выделить всё

-- Резервное копирование базы данных

Файл (/usr/local/www/apache22/data/hosts/billing.vv-master.com/tmp/db/jbs_4e12c1756a371.sql.gz) резервной копии имеет размер 1212 Кб.




-- Восстановление профилей

Восстановлено 12 профилей


-- Патчи базы данных

Последний патч базы данных хоста (billing) (1000273)
Применение патча базы данных хоста (billing)
---
ALTER TABLE `Events` ADD KEY (`IsReaded`);
-- SEPARATOR
ALTER TABLE `Events` ADD KEY (`CreateDate`);
-- SEPARATOR
optimize table Tasks;
-- SEPARATOR
---
ERROR: ошибка применения патча (Too many keys specified; max 64 keys allowed)

vv-master
Сообщения: 7
Зарегистрирован: 2010-05-07 1:30:59

Re: Ошибка при обновлении (при попытке структурировать БД).

Сообщение vv-master » 2011-07-05 13:53:09

Вставил:

Код: Выделить всё

show databases;

пропустило...
Теперь остановилось на:

Код: Выделить всё


-- Резервное копирование базы данных

Файл (/usr/local/www/apache22/data/hosts/billing.vv-master.com/tmp/db/jbs_4e12c5b1d4659.sql.gz) резервной копии имеет размер 1212 Кб.




-- Восстановление профилей

Восстановлено 12 профилей


-- Патчи базы данных

Последний патч базы данных хоста (billing) (1000282)
Применение патча базы данных хоста (billing)
---

ALTER TABLE `HostingOrders` ADD `UserNotice` TEXT NOT NULL, ADD `AdminNotice` TEXT NOT NULL;
-- SEPARATOR
ALTER TABLE `VPSOrders`  ADD `UserNotice` TEXT NOT NULL,  ADD `AdminNotice` TEXT NOT NULL;
-- SEPARATOR
ALTER TABLE `DomainsOrders`  ADD `UserNotice` TEXT NOT NULL,  ADD `AdminNotice` TEXT NOT NULL;



---
ERROR: ошибка применения патча (Duplicate column name 'UserNotice')

Аватара пользователя
Alex Keda
Сообщения: 2907
Зарегистрирован: 2009-10-07 14:30:54
Откуда: USSR
Поблагодарили: 20 раз

Re: Ошибка при обновлении (при попытке структурировать БД).

Сообщение Alex Keda » 2011-07-05 14:44:15

от блин...
смотрите в вкаких таблицах уже есть такая колонка
==
насчёт ключей - это у вас какое-то ограничнеие на базу, думаю.
Убей их всех! Бог потом рассортирует...

vv-master
Сообщения: 7
Зарегистрирован: 2010-05-07 1:30:59

Re: Ошибка при обновлении (при попытке структурировать БД).

Сообщение vv-master » 2011-07-05 17:56:23

Восстановил из бекапа самую раннюю базу, затем вместо строки:

Код: Выделить всё

ALTER TABLE `Clauses` ADD KEY `ClausesPartition` (`Partition`) /* IF NOT EXISTS (SHOW KEYS FROM `Clauses` WHERE Key_name = 'ClausesPartition')*/;

в файле 1000274.sql поставил заглушку:

Код: Выделить всё

show databases;


Теперь не находит таблицу VPSOrders, которой, видимо, в ранних версиях просто не существовало.

Код: Выделить всё

---
Применение патча базы данных хоста (billing)
---

ALTER TABLE `HostingOrders` ADD `UserNotice` TEXT NOT NULL, ADD `AdminNotice` TEXT NOT NULL;
-- SEPARATOR
ALTER TABLE `VPSOrders`  ADD `UserNotice` TEXT NOT NULL,  ADD `AdminNotice` TEXT NOT NULL;
-- SEPARATOR
ALTER TABLE `DomainsOrders`  ADD `UserNotice` TEXT NOT NULL,  ADD `AdminNotice` TEXT NOT NULL;

---
ERROR: ошибка применения патча (Table 'jbs.VPSOrders' doesn't exist)


Дайте формат таблицы плиз, попробую руками добавить.

Аватара пользователя
Alex Keda
Сообщения: 2907
Зарегистрирован: 2009-10-07 14:30:54
Откуда: USSR
Поблагодарили: 20 раз

Re: Ошибка при обновлении (при попытке структурировать БД).

Сообщение Alex Keda » 2011-07-05 21:08:36

вся структура есть в директории db/hosting
новые таблицы идут после комментария, о том что я их добавил....
Убей их всех! Бог потом рассортирует...


Вернуться в «Решение проблем»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей