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

Всем привет. Работаю с фреймворком GORM. Может посоветуйте в какую

сторону копать: есть AutoMigrate. Можно ли сделать консольную команду, как в Django (python manage.py migrate), чтобы применить миграции?

2) Как мне получить файлы миграции? Как в Django (python manage.py makemigrations)

17 ответов

13 просмотров

можно не использовать AutoMigrate, а мигрировать любой сторонней либой. Так и по идее и должно быть с GORM, когда проект выходит за стадию pet project

Егор-Друщенко Автор вопроса
Elmanov Anton
можно не использовать AutoMigrate, а мигрировать л...

А что можете посоветовать? Я недавно в Go-тусовке.

Elmanov Anton
можно не использовать AutoMigrate, а мигрировать л...

так быть не должно, поскольку GORM строит автомиграции на основе полученных "знаний", а если он может делать это криво, то им вообще пользоваться не стоит

Павел Середа
так быть не должно, поскольку GORM строит автомигр...

Не понял если честно. Горм на 100% предсказуем как query builder. Если выключить автомиграции, то запросы строятся абсолютно такие же.

Elmanov Anton
Не понял если честно. Горм на 100% предсказуем как...

он элементарно в частичный индекс не может, о чём вы, тоесть он вообще не понимает что это такое, и что-то мне подсказывает что каунт фильтр тоже не понимает, и я вообще очень слаб в базах данных, но мне кажется что gorm это плохой инструмент, его можно(и нужно) сделать лучше, для этого я автору отправлял репорты и он фиксил

Павел Середа
он элементарно в частичный индекс не может, о чём ...

"Не может в частичный индекс" - речь о формировании "сreate index ... where"? Ну да, и ещё много чего - изменять данные, например. Разве я не предложил при выходе на прод отключить авто миграции парой сообщений выше?

Elmanov Anton
"Не может в частичный индекс" - речь о формировани...

дадада это я в документации видел, как ни пытался - у меня не получилось это сделать, я где-то помоему находил примеры, они работали, мой кейс - ни в какую, сейчас затрудняюсь вспомнить от своего кейса решение, помню только условие: есть таблица1-оружие, есть таблица2-игрок, игрок может иметь [0...N] разного оружия, но активным может быть только [0..1] оружия. Решение на уровне БД - через частичный индекс, а в GORM это сделать у меня не получилось

Павел Середа
дадада это я в документации видел, как ни пытался ...

Функционал автомиграции горм очень ограничен и нужен чтобы быстро на коленке создать простые таблицы сущностей и связей. При появлении ограничений с этими миграциями план прост: - добавляете нормальную либу миграций, которая работает с произвольным sql. - дропаете локальную бд (где горм нагенерил таблицы) - запускаете программу с AutoMigrate = true в последний раз. Горм выводит все запросы на экран. - запросы, которые вывел горм, копируете и помещаете в в первый файл миграции другой библиотеки - дропаете бд ещё раз. - накатываете миграции новой либой - проверяете, что все работает Все это на каком-нибудь деве, естественно

Elmanov Anton
Функционал автомиграции горм очень ограничен и нуж...

можно и просто воспользоваться jetbrains бродилкой по базе и вызвать у таблицы generate ddl to query console

Elmanov Anton
Функционал автомиграции горм очень ограничен и нуж...

я рассуждал так: на GORM есть жалобы что он "иногда не может составить оптимизированный запрос". Соответственно, чтобы составлять запросы - необходимо обладать базой знаний по структуре рабочей БД, а раз он не может в частичный индекс - значит он не может и обладать и знаниями по нему, а значит какие-то запросы с его использованием он составит не самым оптимальным образом.

Никита Меркулов
можно и просто воспользоваться jetbrains бродилкой...

это не про миграции, для миграций есть соответствующие инструменты

Matvei Vdovitsyn
Что за бродилка?

например она встроена в голэнд, но если у тебя на него аллергия - можно использовать datagrip

Павел Середа
это не про миграции, для миграций есть соответству...

@Elmanov_anton описал, как можно изначальный sql файл собрать с горма)

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

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

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
короче сгенерила мне эта штука код на ассемблере: struc string val { common local .value dq .value .value: if ~val eq db val end if db 0 } fo...
Vi Chapmann Chapmann
12
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
Помогите, пожалуйста, делаю программу для для подсчёта корней квадратного уравнения, знаю, что есть куча недочётов, недоработок, но основная проблема в том, что почему-то при ...
NYC
13
#include <stdio.h> int main(void) { int n; scanf("%d", &n); int digits1[n] = {0}; int digits2[n] = {0}; я не могу таким образом заранее массив нулями заполнить?
Linus
12
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
я про форму записи. смысл указывать что 8 байтный регистр 8 байт?
Aiwan \ (•◡•) / _bot
10
Вроде бы вопрос уже заезжанный, но тем не менее У меня есть функция menu() которая выводит набор возможных действий, а затем спрашивает у пользователя что он хотел бы сделать....
David Golovatin
3
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
14
Карта сайта