Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
salex

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

Recommended Posts

Доброго дня.

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

Очень долго оставался я 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 была. Импортирую с дистрибутива и снова первая ошибка и потом вторая.

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

Share this post


Link to post
Share on other sites

Пробуем

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

Share this post


Link to post
Share on other sites

Отлично.

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

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 ( ?, ?, ? )

Share this post


Link to post
Share on other sites

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

 

			\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

Share this post


Link to post
Share on other sites

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

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

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

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

Edited by salex

Share this post


Link to post
Share on other sites

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

 

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

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

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

  • Upvote 1

Share this post


Link to post
Share on other sites

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

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
               ]
           }
       ]
   },

Edited by salex

Share this post


Link to post
Share on other sites

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

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

  • Upvote 1

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

  • Upvote 1

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

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

 

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

Edited by salex

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...