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

Есть такое задание, есть много миграций с чистым sql,

нужно скомпактить их в одну, учитывая что например еcли мы добавили одну колонку в таблицу, то новая миграция должна ссоздавать таблицу с уже существующими на данный момент, и тому подобное по ддл что естть сейчас. Можно ли в теории сделать это при помощи питона , есть ли какие-то инсттрументы?, а то вручную это делать тяжело

30 ответов

29 просмотров

М... Куча граничных случаев видится. А зачем это надо?

Dmitriy-Тiutiunnyk Автор вопроса
evle
М... Куча граничных случаев видится. А зачем это н...

лень это делать вручную постоянно, хочется автоматизировать хотя б частично если не полностью

Dmitriy Тiutiunnyk
лень это делать вручную постоянно, хочется автомат...

Вопрос не только в как, но и в зачем. Чем тебя смущают нормальные атомарные осмысленные миграции?

Dmitriy-Тiutiunnyk Автор вопроса
evle
Вопрос не только в как, но и в зачем. Чем тебя сму...

а если их наплодится пару десятков , это уже менеджить будет тяжело

Dmitriy Тiutiunnyk
а если их наплодится пару десятков , это уже менед...

Тяжело менеджить — это когда несколько тысяч. И то не обязательно.

Dmitriy-Тiutiunnyk Автор вопроса
Kirill Shikhalev
Что по-твоему включает в себя менеджинг?

ну потом надо посмотреть эти миграции например чтоб сделать, там черт ногу сломитт, логичнее, их компактить

Dmitriy-Тiutiunnyk Автор вопроса
Kirill Shikhalev
Сделать что?

чтоб сделать новую например, мало ли для чего захочется их посмотреть(

Dmitriy Тiutiunnyk
чтоб сделать новую например, мало ли для чего захо...

чтобы сделать новую миграцию старые не надо читать

Dmitriy-Тiutiunnyk Автор вопроса
Tishka17
чтобы сделать новую миграцию старые не надо читать

не могу понятть, у вас разве так не делают чтоб не хранитть миллион скриптов миграций, раз в месяц хотя б их компактить, зачем хранить сколько

Dmitriy-Тiutiunnyk Автор вопроса
Tishka17
непонятно зачем

лишнее место например, визуально лучше все понятно если хочешь порыться в миграциях. быстрее накатываются, да и просто выглядит получше чем куча хлама

Kirill Shikhalev
Что по-твоему включает в себя менеджинг?

У тебя у каждой миграции есть причина существования, как раз в таком виде должно быть нормально отслеживать этапы развития проекта. Если слепить в кучу — понять будет сложнее. Единственное где, как я вижу, может как-то помочь объединение — если есть какие-то фиксированные релизы и пользователям приложения нужно только в этот момент их накатывать на свои копии приложения. И то нет никакой проблемы накатить по очереди несколько миграций. А плодить их большими количествами, чтобы за раз приходилось много изменений одной и той же таблицы делать — это что должно в проекте происходить?

Dmitriy Тiutiunnyk
лишнее место например, визуально лучше все понятно...

Кстати, а что ты предлагаешь делать с теми миграциями которые уже запомнила база

Dmitriy-Тiutiunnyk Автор вопроса
evle
У тебя у каждой миграции есть причина существовани...

а тут кейс другой - миграции накатываются постоянно , поскольку это dwh-storage, и там постоянно меняется структура таблиц, какой смысл хранить эту историю, не особо ясно

Dmitriy Тiutiunnyk
лишнее место например, визуально лучше все понятно...

Вот "быстрее накатываются" из этого хоть какой-то аргумент, но так ли это в реальных проектах? Смотреть как раз проще видя ретроспективу целиком.

Dmitriy Тiutiunnyk
а тут кейс другой - миграции накатываются постоянн...

Блин. Что за проект такой, что миграции постоянно накатываются?

Dmitriy Тiutiunnyk
а тут кейс другой - миграции накатываются постоянн...

Какой ты удивительный человек Что не вопрос, так другой кейс :)))

Dmitriy-Тiutiunnyk Автор вопроса
evle
Блин. Что за проект такой, что миграции постоянно ...

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

Dmitriy Тiutiunnyk
лишнее место например, визуально лучше все понятно...

1. лишнее место? ну я даже не знаю 2. зачем в них рыться кроме как для того чтобы узнать что реально применялось? 3. чтобы склеивать миграции надо бытьуврененым что они потом применятся к любому инстансу

Dmitriy-Тiutiunnyk Автор вопроса
Tishka17
1. лишнее место? ну я даже не знаю 2. зачем в них ...

а какие могут быть проблемы с уверенностью в 3 пункте?

Dmitriy Тiutiunnyk
а какие могут быть проблемы с уверенностью в 3 пун...

Ну представь что у тебя на проде уже накатилось сколько-то миграций и ты пихаешь ему вот эту херню склеенную

Dmitriy Тiutiunnyk
а какие могут быть проблемы с уверенностью в 3 пун...

ну вот у тебя были три миграции 1,2,3. Сервер находится в состоянии 2. Ты их склеил, получил одну миграцию 0-3. Пытаешься применить, получаешь ошибку "БД в неизвестном состоянии"

Dmitriy-Тiutiunnyk Автор вопроса
Tishka17
ну вот у тебя были три миграции 1,2,3. Сервер нахо...

сервер обычно всегда состоянии 3 если мы берем прод, си сд для этого и придумали

Dmitriy Тiutiunnyk
сервер обычно всегда состоянии 3 если мы берем про...

А если релиз прошел неудачно и надо откатить?

Dmitriy-Тiutiunnyk Автор вопроса
Tishka17
когда из бэкапа достанете, будет не в 3

ну думаю такие корнер кейсы учитываются, они ж не каждый день склеиваются

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта