Skip navigation

Во время обновления Ministra TV Platform до версии 5.6 Вы можете столкнуться с ошибкой Migrations run failed при выполнении команды phing:

BUILD FAILED 
/var/www/stalker_portal/deploy/build.xml:357:12: 
/var/www/stalker_portal/deploy/build.xml:363:51: Migrations run failed 

Такое поведение может быть связано с:

  • Ручным изменением структуры базы данных stalker_db 

или

  • Наличием в таблице stb_in_group записей с одинаковыми идентификаторами пользователя (uid). В таком случае в отчете выполнения команды phing Вы обнаружите среди результатов выполнения Ministra DB Migrations запросов только одну ошибку:
CREATE UNIQUE INDEX uid_idx ON stb_in_group (uid) 
Migration 20190805112404 failed during Execution. Error 
An exception occurred while executing 'CREATE UNIQUE INDEX uid_idx ON stb_in_group (uid)

В предыдущих версиях портала дубликаты записей возникали при перемещении Пользователя из одной группы пользователей в другую.
В ходе перемещения создавалась новая запись в таблице stb_in_group, при этом старая не удалялась. Таким образом, происходило создание копии Пользователя в той же или другой группе.

Для исправления ошибки с дублями необходимо:

  • Вручную удалить лишние дубликаты в таблице stb_in_group, таким образом, чтобы столбец uid содержал только уникальные значения. В случае наличия более чем одной записи с одним uid (даже в разных группах) - нужно оставить только одну запись

или

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

Обратите внимание! Перед тем как выполнять удаление записей вручную убедитесь, что пользователь принадлежит нужной группе.

Пожалуйста, перед выполнением каких-либо манипуляций с базой данных сделайте резервное копирование таблицы stb_in_group базы данных stalker_db:

mysqldump -u stalker -p1 stalker_db stb_in_group > /opt/stb_in_group_backup.sql

После выполнения скрипта дубликаты записей с одинаковыми uid будут удалены из таблицы stb_in_group. При этом записи, у которых id больше, чем у дубликата сохранятся.

1. Скачайте файл fix_duplicates_stb_in_group.sql, выполнив команду:
wget -O /opt/fix_duplicates_stb_in_group.sql https://wiki.infomir.eu/wiki/ru:article/files/133049883/133049884/1/1565177040791/fix_duplicates_stb_in_group.sql

2. Выполните следующую команду:

mysql -u stalker -p1 stalker_db < /opt/fix_duplicates_stb_in_group.sql

где stalker - имя пользователя БД, параметр mysql_user в custom.ini (config.ini);

        1 - пароль пользователя базы данных, параметр mysql_pass в custom.ini (config.ini);

stalker_db - имя базы данных Ministra TV Platform, параметр db_name в custom.ini (config.ini);

fix_duplicates_stb_in_group.sql - файл с исправлением.

Need Help

Синди – эксперт по работе с Ministra TV platform и автор этой статьи.

Была ли полезна эта статья?

Да Нет

Сожалеем.
Как можно улучшить эту статью?

Мы используем cookie-файлы, чтобы оптимизировать работу сайта и предоставить вам лучший интерфейс; а также для продвижения нашей продукции. Ознакомьтесь с нашей политикой Cookie, чтобы узнать, как именно мы используем cookie-файлы, и как вы можете это контролировать.
Если вы продолжите пользоваться сайтом или закроете это сообщение — это значит, что вы согласны с нашей Политикой конфиденциальности и разрешаете использование cookie-файлов, как описано в политике Cookie.