Замена локального списка поля на глобальный.

Все вопросы/проблемы по установке и использовании.
Ответить
Илья_К
Сообщения: 28
Зарегистрирован: 07 авг 2019, 18:15
Имя: Илья Клыков
Откуда: Россия, Истра

Замена локального списка поля на глобальный.

Сообщение Илья_К »

Добрый день!

Сделал сущность в котором одно из полей имеет формат выбор из списка, список сделал локальный к этому полю.
Затем создавая другие сущности создал глобальный список с таким же набором записей как в первой сущности в локальном списке и во всех других сущностях использую глобальный список, т.к. это удобнее - не надо наполнять локальный список одними и теми же значениями.
Подскажите пожалуйста можно теперь просто переключить первую сущность на этот глобальный список с теми же значениями в такой же последовательности или при таком подключении все введенные значения пропадут и это поле придется по всей сущности заполнять заново?
Если бы первая сущность не имела более тысячи записей я бы рискнул и если бы что то сбилось руками заполнил, но в таком объеме я просто физически не помню где какое значение стояло.
Если нельзя просто переключиться на глобальный список с теми же значениями расположенными в том же порядке, то может есть какой то более сложный способ решения этой проблемы, но не перебивать в ручную все тысячи записей, значения которых еще и не помнишь.?
Аватара пользователя
support
Техническая поддержка
Сообщения: 9188
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Замена локального списка поля на глобальный.

Сообщение support »

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

Но если уж очень надо, то нужно выписать ID значений из глобального списка. Затем ID значений из локального.
Потом с помощью phpmyadmin вручную заменять ID локального на соответствующий ID из глобального.
Если это список с выбором одно значения, то тут больших сложностей.
А вот если можно указывать несколько значений, то это не реально.
HakimzyanovA
Сообщения: 191
Зарегистрирован: 27 фев 2017, 13:22
Имя: Алексей Хакимзянов
Откуда: Россия

Re: Замена локального списка поля на глобальный.

Сообщение HakimzyanovA »

А если написать хранимую функцию на MySQL get_global(), которая принимает строку из id элементов локального списка local_list="1,2,3" и возвращает соответствующую строку из элементов глобального списка global_list="4,5,6".
Затем обновить значения в поле одним запросом:
update app_entity_XX set field_YY=get_global(field_YY);
Ответить