Size: a a a

2020 December 02

D

Dima in learn.java
у тебя сгенерится миграция и ты сразу ее применишь
источник

D

Dima in learn.java
тогда так как в обратном случае ты будешь инициатором изменения таблицы через миграцию
источник

D

Dima in learn.java
понятно, что все это тесты могут отловить, но все же, ручной контроль обусловлен заботой о данных пользователей системы - это главный аргумент
источник

N

Nonverbis in learn.java
Dima
у тебя сгенерится миграция и ты сразу ее применишь
Если в модели снес поле, и не было ограничений (т.е. если это не внешний клюс) - да, в джанге снесет в базе это поле тоже. Ему сказали снести, он снес. Никто никого не обманывал: что сказали, то он сделал.

Если это запускалось в тестовой среде, ну, уйдешь на второй круг думать. Если в проде - хуже сильно. Но это сделал именно ты, снеся поле в модели. Это логично.

И ручное написание миграций - оно же тоже не панацея от ошибок-то. В том числе грубых и с необратимыми последствиями.
источник

D

Dima in learn.java
Nonverbis
Если в модели снес поле, и не было ограничений (т.е. если это не внешний клюс) - да, в джанге снесет в базе это поле тоже. Ему сказали снести, он снес. Никто никого не обманывал: что сказали, то он сделал.

Если это запускалось в тестовой среде, ну, уйдешь на второй круг думать. Если в проде - хуже сильно. Но это сделал именно ты, снеся поле в модели. Это логично.

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

D

Dima in learn.java
ты не можешь по ошибке потратить час на написание миграции
источник

N

Nonverbis in learn.java
Dima
ты не можешь по ошибке потратить час на написание миграции
Я все же думаю, что просто у хибера настолько сложный ORM, что его не удается автоматизировать. Не уверен, что причина именно в этом. Но в джанге ORM обеднен. Может, для хибера просто не удается написать такую утилиту подготовки миграций, чтобы вот прямо все учла, все без ошибок.
источник

А

Алексей in learn.java
Джанго? Это пайтон? Так это не энтерпрайз, а баловство. В суровом энтерпрайзе привыкли все контроллировать.

А как откатывают миграции в джанго?
источник

N

Nonverbis in learn.java
Алексей
Джанго? Это пайтон? Так это не энтерпрайз, а баловство. В суровом энтерпрайзе привыкли все контроллировать.

А как откатывают миграции в джанго?
В джанге это не предусмотрено.
источник

А

Алексей in learn.java
Nonverbis
Я все же думаю, что просто у хибера настолько сложный ORM, что его не удается автоматизировать. Не уверен, что причина именно в этом. Но в джанге ORM обеднен. Может, для хибера просто не удается написать такую утилиту подготовки миграций, чтобы вот прямо все учла, все без ошибок.
Дело не в хибере, а в походе. Там, где обычно используется java, нет места баловству
источник

А

Алексей in learn.java
Nonverbis
В джанге это не предусмотрено.
Ну вот и ответ. А в реальных проектах это потребность
источник

А

Алексей in learn.java
А еще в проде бывает поддержка 2-3 версий сервисов
источник

N

Nonverbis in learn.java
Алексей
Ну вот и ответ. А в реальных проектах это потребность
Я что-то ничего не чувствую пока. Не чувствую эту потребность. Т.е. запустились, юзеры начали создавать данные. А мы им откатываем - выбрасываем их данные что-ли?
источник

D

Dima in learn.java
Nonverbis
Я что-то ничего не чувствую пока. Не чувствую эту потребность. Т.е. запустились, юзеры начали создавать данные. А мы им откатываем - выбрасываем их данные что-ли?
нет
источник

D

Dima in learn.java
обратная совместимость
источник

А

Алексей in learn.java
Nonverbis
Я что-то ничего не чувствую пока. Не чувствую эту потребность. Т.е. запустились, юзеры начали создавать данные. А мы им откатываем - выбрасываем их данные что-ли?
Нет. Ну вот накатил ты обновление на прод. Тестировщики пошли тестировать и говорят что ошибка есть. Ну или автотесты даже не прошли. Откатил миграцию и вернул старую версию кода
источник

N

Nonverbis in learn.java
Алексей
Нет. Ну вот накатил ты обновление на прод. Тестировщики пошли тестировать и говорят что ошибка есть. Ну или автотесты даже не прошли. Откатил миграцию и вернул старую версию кода
Так это же тестовая среда была. Пошел обратно в среду разработки, достал предыдущую версию. Взял забракованную версию. Сличаешь, что-то правишь, делаешь новую версию. И опять в тест.

Не вижу, в чем тут проблема может быть.
источник

А

Алексей in learn.java
Nonverbis
Так это же тестовая среда была. Пошел обратно в среду разработки, достал предыдущую версию. Взял забракованную версию. Сличаешь, что-то правишь, делаешь новую версию. И опять в тест.

Не вижу, в чем тут проблема может быть.
О нет. Ты же не только в тестовой миграции делаешь. Но и в проде
источник

А

Алексей in learn.java
Если на тесте все хорошо, это не значит что и на проде будет все хорошо
источник

DC

Denis Chikanov in learn.java
Nonverbis
Так это же тестовая среда была. Пошел обратно в среду разработки, достал предыдущую версию. Взял забракованную версию. Сличаешь, что-то правишь, делаешь новую версию. И опять в тест.

Не вижу, в чем тут проблема может быть.
А баги в проде никогда не выявляются, так?
источник