Size: a a a

2020 June 30

AZ

Alexander Zelenyak in rannts
Ну типа я за то, чтобы не переусложнять систему.
источник

AZ

Alexander Zelenyak in rannts
У нас три инсталляции (фитча-ветки, стейдж и прод). И просто запуска при деплое хватает.
источник

KK

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

AZ

Alexander Zelenyak in rannts
Нет.
источник

AZ

Alexander Zelenyak in rannts
Вот это джанго-подход.
источник

AZ

Alexander Zelenyak in rannts
Мы сразу пошли другим путём.
источник

AZ

Alexander Zelenyak in rannts
У нас только миграции данных.
источник

AZ

Alexander Zelenyak in rannts
Понятное дело, что индексы все описаны отдельно и можно дёрнуть нужную ручку.
источник

KK

Kirill (Cykooz) Kuzm... in rannts
В смысле только дата-миграции? А индексы добавить или удалить?
источник

AZ

Alexander Zelenyak in rannts
А модели просто описывают актуальную версию.
источник

AZ

Alexander Zelenyak in rannts
Для индексов есть ручка. Её можно дёргать из миграции. А можно руками, при локальном развёртывании.
источник

AZ

Alexander Zelenyak in rannts
Впрочем, локально мы об индексах не думаем...   🙂
источник

AZ

Alexander Zelenyak in rannts
В общем, прогона всех миграций не требуется. Мы их ещё и подчищаем время от времени.
источник

AZ

Alexander Zelenyak in rannts
Ну типа мёртвый код не нужен.
источник

AZ

Alexander Zelenyak in rannts
Стоит отметить, что у нас совсем небольшая команда и потому мы можем договориться без каких-либо жёстких правил. Это даёт нам возможность делать такие странные, с точки зрения крупных проектов, вещи.
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Вот ещё хотелка, которую мы у себя сделали. Некоторые миграции выполняются очень долго, но их не обязательно делать до запуска приложения. Можно на живой системе их запустить фоном и всё будет ОК. В своей системе мы такие миграции помечаем флагом "для ручного запуска" и они просто так не запустятся при развертывании через Jenkins.
источник

AZ

Alexander Zelenyak in rannts
Да, такое бывает. Вот я пометки пока не реализовал в миграните, хотя идея такая есть. Мы в таких случаях просто отрубаем автоматику и стартуем их руками. Не так, чтобы сильно часто такое случается.
источник

KK

Kirill (Cykooz) Kuzm... in rannts
А ещё в монге могут сломаться индексы и она тебе про это не скажет. Будет упорно твердить что индекс существует и его не надо создавать. Но при этом при обработке запросов она его не будет использовать, или будет использовать частично.
Недавно у нас такое было с парой индексов после того как в ДЦ сеть разваливалсь, и монге с её шардами и репликами было от этого "больно".
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Пересоздать индекс конечно же нельзя. Можно только удалить и создать заново. Очень наверное будет весело если это уникальный индекс и его ни как нельзя удалять на лету, иначе приложение налепит дубликатов.
источник

SA

Sergey Arkhipov in rannts
Вы все такие смелые, миграции автоматически накатываете
источник