Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
salex

Вопрос по БД при обновлении

Рекомендованные сообщения

Доброго дня.

Сразу к сути проблемы.

Очень долго оставался я 3-ке и решил перевести свой форум на 4-ку.

Создал копию файлов и БД. Перенес все на поддомен и решил потренироваться.

На клоне отключил все хуки, приложения и тему поставил по дефолту для чистоты эксперимента.

При обновлении с 3.4.6 (3.4.9) на 4.2.2. выскакиваю ошибки:

Duplicate entry 'External' for key 'PRIMARY' 
/var/www/****/data/www/****/applications/core/setup/upg_40000/upgrade.php::908
INSERT INTO `core_login_handlers` ( `login_settings`, `login_key`, `login_enabled`, `login_order` ) VALUES ( ?, ?, ?, ? )

При продолжении

Table '****.login_methods' doesn't exist 
/var/www/****/data/www/****/system/Db/Select.php::433
SELECT * FROM `login_methods`

Хотя таблица login_methods была. Импортирую с дистрибутива и снова первая ошибка и потом вторая.

Я запутался уже...

Поделиться сообщением


Ссылка на сообщение

Пробуем

applications/core/setup/upg_40000/upgrade.php

			$max++;
		\IPS\Db::i()->insert( 'core_login_handlers', array( 'login_settings' => json_encode( array() ), 'login_key' => $method, 'login_enabled' => 0, 'login_order' => $max ) );

заменить на

			try
		{
			$max++;
			\IPS\Db::i()->insert( 'core_login_handlers', array( 'login_settings' => json_encode( array() ), 'login_key' => $method, 'login_enabled' => 0, 'login_order' => $max ) );
		}
		catch (\Exception $e){}

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Отлично.

Правда дальше еще одна появилась

Duplicate entry 'm-409' for key 'leader_type' 
/var/www/***/data/www/****/applications/core/setup/upg_40000/upgrade.php::1731
INSERT INTO `core_leaders` ( `leader_type`, `leader_type_id`, `leader_group_id` ) VALUES ( ?, ?, ? )

Поделиться сообщением


Ссылка на сообщение

Тоже дубли. Только в модераторах.

 

			\IPS\Db::i()->insert( 'core_leaders', array( 'leader_type' => $moderator['type'], 'leader_type_id' => $moderator['id'], 'leader_group_id' => $groupId ) );

заменить на

			try
		{
			\IPS\Db::i()->insert( 'core_leaders', array( 'leader_type' => $moderator['type'], 'leader_type_id' => $moderator['id'], 'leader_group_id' => $groupId ) );
		}
		catch (\Exception $e)
		{
			\IPS\Log::log($e, 'upgrade_core_leaders');
		}

Если не нужны логи (после обновления можно посмотреть в АЦ), удалите

\IPS\Log::log($e, 'upgrade_core_leaders');

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
08/20/17 12:22 (изменено)

Все просто отлично! Спасибо огромное просто!

Наверное еще что-то не так

Column count doesn't match value count at row 1 
/var/www/***/data/www/****/applications/core/setup/upg_100010/upgrade.php::50
INSERT INTO `core_theme_resources` SELECT `image_id` AS `resource_id`, `image_set_id` AS `resource_set_id`, `image_app` AS `resource_app`, `image_location` AS `resource_location`, `image_path` AS `resource_path`, `image_name` AS `resource_name`, `image_added` AS `resource_added`, `image_filename` AS `resource_filename`, `image_plugin` AS `resource_plugin`, `image_data` AS `resource_data` FROM `core_theme_images`

 

\IPS\Db::i()->insert( 'core_theme_resources', \IPS\Db::i()->select( $mappedColumns, 'core_theme_images' ) );

На что менять?)

Изменено пользователем salex

Поделиться сообщением


Ссылка на сообщение

Нужно посмотреть структуру таблиц.

 

На что менять?)

Пробуем выше добавить

$mappedColumns[] = '0 AS `resource_user_edited`';

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
08/20/17 18:28 (изменено)

Спасибо! Все прошло на ура. Начал все сначала и обновление почти прошло!

Key column 'index_tags' doesn't exist in table 
/var/www/vh126273/data/www/***/applications/core/setup/upg_101000/queries.json - query #14

Я так понял, что здесь

 "14": {
       "method": "addIndex",
       "params": [
           "core_search_index",
           {
               "type": "fulltext",
               "name": "index_tags",
               "columns": [
                   "index_tags"
               ],
               "length": [
                   250
               ]
           }
       ]
   },

Изменено пользователем salex

Поделиться сообщением


Ссылка на сообщение

Я так понял, что здесь

Такого столбца и индекса нет в таблице. Можно уничтожить

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Уничтожил. Вроде бы обновился, но не могу понять почему папки с css_built и javascript_core создаются в папке uploads, а внешний вид админки и форума без css. В консоли браузера показывает ошибки, что не может найти css_built но не в папке uploads, а в корне. В настройках везде прописаны пути до uploads. (подопечный - forum.мойсайт)

Поделиться сообщением


Ссылка на сообщение

В настройках везде прописаны пути до uploads

Пересохранять пробовали "System -> Files -> Storage Settings"

+ почистить кеш через АЦ.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Да. Пересохранил и все получилось. Спасибо огромное.

Поделиться сообщением


Ссылка на сообщение
08/24/17 11:36 (изменено)

Последний нубный вопрос по обновлению...

Обновление на основном теле прошло без ошибок (внес все правки сразу).

В разделе download все что было загружено уже не скачать. Код ошибки: 3D161/G

Есть ли шансы это как-то исправить или всеж придется заново все загружать?

 

Все. Разобрался. В настройках управления вложений указал нужные папки.

Изменено пользователем salex

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...