Страница 1 из 4
Ошибка обновления
Добавлено: 27 дек 2021, 12:19
aik
Пытался обновить до последней версии, однако выдало ошибку:
Программа:
ALTER TABLE `app_entities` ADD `group_id` INT NOT NULL AFTER `parent_id`, ADD INDEX `idx_group_id` (`group_id`)
1060
Duplicate column name 'group_id'
Дополнение:
ALTER TABLE `app_ext_processes` ADD `print_template` VARCHAR(32) NOT NULL AFTER `button_icon`
1060
Duplicate column name 'print_template'
Re: Ошибка обновления
Добавлено: 27 дек 2021, 13:27
support
А какая версия стояла до этого? Бета?
Re: Ошибка обновления
Добавлено: 27 дек 2021, 13:33
aik
Стояла 2.7, потом обновил до 2.8 потом до 2.9 потом до 3.0 и вот на 3.0 появились ошибки.
Re: Ошибка обновления
Добавлено: 27 дек 2021, 16:21
support
Странно, первый раз такое вижу. Похоже что то пошло не так. Восстановите бекап и повторите обновление бд заново.
Re: Ошибка обновления
Добавлено: 28 дек 2021, 11:41
aik
В общем по обновлялся более менее все ошибки пропали, кроме одной где-то в версии 2.6-2.7 происходило исключение поля date_updated видимо ты чистил от мусора и удалял все эти колонки.
Так вот сейчас при обновлении записи любой вылетает эта ошибка. Вроде уже и install/autoupdate/data_prepare_from_2.6_to_2.7.php это делал, но все равно вылетает ошикбка:
Database Error: 1054 - Unknown column 'date_updated' in 'field list'
нужно еще пробовать файл как-то обновить правильно, да? Хотя я уже перезаписал все файлы.
Re: Ошибка обновления
Добавлено: 28 дек 2021, 16:30
support
Колонка date_updated была добавлена еще для версии 2.4
install/autoupdate/from_2.3_to_2.4.php
Это для какой то одной сущности или для всех такое выдает?
Вот код, который добавляет это:
Код: Выделить всё
//prepare date_updated field for all entities
$entities_query = db_query("select * from app_entities");
while($entities = db_fetch_array($entities_query))
{
db_query("ALTER TABLE app_entity_" . $entities['id'] . " ADD date_updated INT NOT NULL DEFAULT '0' AFTER date_added");
//prepare fieldtype_user_last_login_date
$fields_query = db_query("select id, entities_id from app_fields where type in ('fieldtype_date_updated') and entities_id='" . $entities['id'] . "'");
if(!$fields = db_fetch_array($fields_query))
{
$tab_info_query = db_query("select forms_tabs_id from app_fields where type='fieldtype_date_added' and entities_id='" . $entities['id'] . "'");
$tab_info = db_fetch_array($tab_info_query);
$sql_data = [
'type' => 'fieldtype_date_updated',
'entities_id'=>$entities['id'],
'forms_tabs_id' => $tab_info['forms_tabs_id'],
'sort_order'=>3,
'name' =>'',
];
db_perform('app_fields', $sql_data);
}
}
Можно только его выполнить, отдельный файл создать по примеру from_2.3_to_2.4.php или выполнить в приложении.
Re: Ошибка обновления
Добавлено: 28 дек 2021, 16:37
aik
А потом же эта колонка была ведь удалена. нет разве?
Это на все записи, а также я добавил код в приложении и все система уехала в цикл.
Database Error: 1060 - Duplicate column name 'date_updated'
Query: ALTER TABLE app_entity_1 ADD date_updated INT NOT NULL DEFAULT '0' AFTER date_added
Page: /
Re: Ошибка обновления
Добавлено: 28 дек 2021, 17:03
support
Тогда выполните
Код: Выделить всё
ALTER TABLE app_entity_1 ADD date_updated INT NOT NULL DEFAULT '0' AFTER date_added
для тех сущностей, где нет date_updated
Re: Ошибка обновления
Добавлено: 28 дек 2021, 19:14
aik
Спасибо большое!
Re: Ошибка обновления
Добавлено: 27 мар 2022, 15:13
EStaver
Подскажите, а можно с версии 2.6 сделать бэкап, и накатить его на пустую версию 3.0?