Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Опубликовано:

Доброго дня.

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

Очень долго оставался я 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){}

Опубликовано:
  • Автор

Отлично.

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

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

Опубликовано:
  • Автор

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

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

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

Опубликовано:
  • Автор

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

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

Опубликовано:

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

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

Опубликовано:
  • Автор

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

Опубликовано:

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

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

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

Опубликовано:
  • Автор

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

Опубликовано:
  • Автор

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

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

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

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

 

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

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

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

Сейчас на странице 0

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.