Size: a a a

2020 January 23

AM

Artem Malyshev in rannts
Если всё будет конфигурируемое будет слишком сложно, всё будут toml программистами.
источник

AM

Artem Malyshev in rannts
Dmitry Belyaninov
эммм, ну если все модели зафигачить в одно приложение...
Лично я не вижу ничего плохого чтобы просто разрабатывать одно большое приложение на целый проект. Но так опять же не принято.
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
Dmitry Belyaninov
но ок, поверю. хотя странно что с этим проблемы и нет такой фичи, удобно и нет проблем с зависимостями миграций например
Проблем с зависимостями нет только если ты один и в одном бранче пилишь код. А когда несколько человек и несколько фиче-бранчей - то миграции будут тоже витвиться.
И на самом деле гораздо удобнее когда миграции лежат рядом с теми моделями, которые они мигрируют, а не всё в одну кучу - сиди потом и ищи где какая миграция.
источник

ИК

Иван Кривошеев in rannts
Artem Malyshev
Можно alembic'ом мигрировать Django приложение 😁
Очень жалко, что в alembic не сделали, что бы имя файла как-то указывало на порядок миграции...
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
Это, если посмотреть более широко, по сути та же "инкапсуляция" и "принцип одной ответственности" - миграции джанго приложения "сокрыты" внутри этого приложения и нет одной супер-папки, которая отвечает за миграции всех приложений.
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
Иван Кривошеев
Очень жалко, что в alembic не сделали, что бы имя файла как-то указывало на порядок миграции...
Имя файла в алембике можно настраивать как тебе угодно (там можно по моему функцию даже указать). Я например генерил его как-то так YYYYMMDDHHMM_some_description.py
источник

ИК

Иван Кривошеев in rannts
Kirill (Cykooz) Kuzminykh
Имя файла в алембике можно настраивать как тебе угодно (там можно по моему функцию даже указать). Я например генерил его как-то так YYYYMMDDHHMM_some_description.py
Да? Пойду почитаю.
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
И в алембике есть команда которая позволяет вывести в консоль дерево миграций с учётом их порядка и ветвистости
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
Иван Кривошеев
Да? Пойду почитаю.
Сейчас вот смотрю свою интеграцию с алемдиком и не могу найти где я это настройл. Но все миграции у меня вот в том формате как я указал
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
А, нашёл - это в ini файле у меня задано
[alembic]
# template used to generate migration files
# default: %%(rev)s_%%(slug)s
file_template = %%(year)d%%(month).2d%%(day).2d%%(hour).2d%%(minute).2d%%(second).2d_%%(slug)s
источник

AM

Artem Malyshev in rannts
Kirill (Cykooz) Kuzminykh
Проблем с зависимостями нет только если ты один и в одном бранче пилишь код. А когда несколько человек и несколько фиче-бранчей - то миграции будут тоже витвиться.
И на самом деле гораздо удобнее когда миграции лежат рядом с теми моделями, которые они мигрируют, а не всё в одну кучу - сиди потом и ищи где какая миграция.
Правило хорошего тона ребейзить не только ветки Гита перед мержем, но и миграции.
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
А если фиче-бранч уже прокатили на dev стенд, и миграцию применили? Тут уже не заребейзишь - миграция заново запустится на dev стенде
источник

AM

Artem Malyshev in rannts
Kirill (Cykooz) Kuzminykh
А если фиче-бранч уже прокатили на dev стенд, и миграцию применили? Тут уже не заребейзишь - миграция заново запустится на dev стенде
Эм... У вас все заделоенные фиче бранчи во время разработки в одну и туже базу смотрят?
источник

БС

Байт Словович in rannts
Kirill (Cykooz) Kuzminykh
А, нашёл - это в ini файле у меня задано
[alembic]
# template used to generate migration files
# default: %%(rev)s_%%(slug)s
file_template = %%(year)d%%(month).2d%%(day).2d%%(hour).2d%%(minute).2d%%(second).2d_%%(slug)s
вот этот формат удобнее
file_template = %%(year)d%%(month).2d%%(day).2d_%%(hour).2d%%(minute).2d_%%(rev)s_%%(slug)s

добавляется еще и айди ревизии. Тоже иногда нужно.
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
Artem Malyshev
Эм... У вас все заделоенные фиче бранчи во время разработки в одну и туже базу смотрят?
Да, у нас почти никогда фича не выкидывается из релиза, а потому нет неодходимости базу откатывать. Кроме того у разработчиков может быть локальная версия базы, которую, в случае ребейзов миграций, придётся каждый раз перекатывать из бекапов.
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
Ну и польза ребейзов в данном случае такая же "сомнительная" как и в git-е. Чисто эстетическая. Хотя конечно могут быть кейсы с конфликтами, но у нас такого не было. Это надо наверное что бы две фичи требовали создание или изменение в таблице одной и той же колонки.
источник

AM

Artem Malyshev in rannts
Kirill (Cykooz) Kuzminykh
Да, у нас почти никогда фича не выкидывается из релиза, а потому нет неодходимости базу откатывать. Кроме того у разработчиков может быть локальная версия базы, которую, в случае ребейзов миграций, придётся каждый раз перекатывать из бекапов.
Фиче бранч пилят несколько человек?
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
Ну каждую фичу пилит свой человек в отдельном бранче
источник

RH

Roman Haritonov in rannts
Если дев стенд один с одной базой, разве удобно на него катить разные фичеветки? Не проще для начала мержить фичеветки с предварительным ребейзом миграций при необходимости в одну дев ветку?
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
Ну да, обычно сначала мержим, а потом катим. Выкатка фиче-бранча - не частая ситуация
источник