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

Ответить


Этот вопрос предназначен для предотвращения автоматической отправки форм спам-ботами.
Смайлики
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[flash] ОТКЛЮЧЕН
[url] ВКЛЮЧЁН
Смайлики ВКЛЮЧЕНЫ

Обзор темы
   

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

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

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

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

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)


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

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

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

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

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')

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)

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

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

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

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

optimize table Tasks;

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)

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 » 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).

Вернуться к началу