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

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

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

30 ответов

11 просмотров

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

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

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

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

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

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
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
кто шарит: mattermost отслеживает что ты на пк запускаешь?
Valentin
13
Помогите, пожалуйста, делаю программу для для подсчёта корней квадратного уравнения, знаю, что есть куча недочётов, недоработок, но основная проблема в том, что почему-то при ...
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
5
Карта сайта