207 похожих чатов

Привет Подскажите, пожалуйста, как правильно делать в такой ситуации есть модуль, в

нем есть поле many2many
пользователи поработали некоторое время и решили, что теперь поле должно быть many2one
допустим, что мы будем оставлять только одно значение (первое в списке) в этом поле
как правильно сделать правки такого модуля?

это должна быть какая-то миграция через доп поля или как это делать
или где почитать такую инфу?

4 ответов

15 просмотров

можно без миграции в два єтапа: 1. сначала добавляем поле в код. 1.1. в коде все механизмы со старого поля переписываем на работу, на новое поле. В идеале, делаем переключатель через ir.config 1.2. устанавливаем на сервер. после апдейта модуля, заливаем в него данные(разные есть способы) 1.3. проверяем что механизмы теперь работают через новое поле. Для этого меняем значение в старом поле и проверяем, что алгоритмы на него не реагируют. 2. Далее все просто: удаляем из кода старое поле, деплой, апдейт, фенито ля комедия.

по идеи можно прям тип поля поменять с many2many на many2one, написать миграционный скрипт post-update в котором обращаетесь в базу через SQL в промежуточную таблицу (которая используется для связи m2m) и через поля отношения вытаскиваете данные и берете одну найденную запись (как брать тут уже зависит от задачи: первую попавшую, или самую свежую )

Artem-Borovlev Автор вопроса
Dinar G
по идеи можно прям тип поля поменять с many2many н...

а эта тбалица не удаляется при смене типа поля?

Artem Borovlev
а эта тбалица не удаляется при смене типа поля?

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

Похожие вопросы

Обсуждают сегодня

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
Хтось використовував Vapor на Windows?
Jaroshevskii
15
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
Тут кста кто-нибудь NeoVim использует?
Simple Sorcerer
13
Оба варианта в целом подходят, но скорее создание конфликтной ситуации (на пустой основе). В прошлый раз он сказал мне про ESP32, я забыл про этот микроконтроллер, ошибся, я п...
КТ315
4
Карта сайта