Страница 1 из 1

Пересвязать сущности

Добавлено: 09 фев 2017, 14:16
userspb
Добрый день !

Вопрос в следующем имеется сущность которая жила сама по себе и имела свои подсущности, допустим проекты-задачи-документы проекта и все бы ничего, но решили сделать сущность сделки и плясать оттуда. Как перепривязаться чтобы теперь все проекты шли из сущности сделки ? Неужели прийдется все уничтожить и начать заново ? :shock: столько данных внесено уже :cry:
Можно конечно просто сделать сущность Сделки и в ней добавить поле "связанные записи", но в этом случае прийдется постоянно связывать проекты и сделки... или открывать проект прямо из сделки...

Re: Пересвязать сущности

Добавлено: 09 фев 2017, 14:43
support
Я так понимаю у вас есть:

Код: Выделить всё

Проекты
 - Задачи
 - Документы
и теперь вы хотите чтоб было так

Код: Выделить всё

Сделки
 - Проекты
 - - Задачи
 - - Документы
Все верно?

Re: Пересвязать сущности

Добавлено: 09 фев 2017, 14:55
userspb
Да именно так :)

Re: Пересвязать сущности

Добавлено: 09 фев 2017, 15:11
support
Для этого нужен отдельный инструмент по переносу данных и на данный момент такого инструмента нету.

Но можно сделать вручную выполнив следующие шаги:
1) сделать бекап базы данных

2) если не разбираетесь базах данных, то в начале лучше выполнить следующие операции не на живом сайте.

3) Создайте сущность "Сделки" и например ID новой сущности будет "50"

4) Создайте новую сделку "Архив" и ID новой записи будет "1"

5) Используя phpMyAdmin откройте таблицу "app_entities" и найдите запись "Проекты" и измените "parent_id" на 50. Таким образов мы связали сущности и сущность "Проекты" теперь вложенная к сущности "Сделки"

6) Теперь нужно выполнить mysql запрос для сущности Проекты. К примеру ID сущности "Проекты" у вас "21" тогда запрос будет следующим

Код: Выделить всё

update `app_entity_21` set `parent_item_id`=1
Мы привязали все проекты к сделке "Архив"

Re: Пересвязать сущности

Добавлено: 09 фев 2017, 16:36
userspb
Так как на тесте гоняем в офисе, то решили удалить проекты/задачи/ итд и пересоединиться со сменой parrent на сделку.
Все получилось спасибо!