Size: a a a

Django [ru] #STAY HOME

2020 May 21

D

Dk in Django [ru] #STAY HOME
До следующей, ты имел ввиду?
источник

D

Dk in Django [ru] #STAY HOME
Как меня джанга спросит, это же контейнер
источник

D

Dk in Django [ru] #STAY HOME
А если у меня уже запущена джанга, а я сделаю миграцию в это время, то что-нибудь упадёт, да?
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Dk
Как меня джанга спросит, это же контейнер
А как миграции в контейнерах проходят? я не знаю. Просто пишешь необходимые команды и они на автомате выполняются?
источник

D

Dk in Django [ru] #STAY HOME
Ну, тупо кину файл миграции в контейнер, зайду туда и выполню migrate
источник

D

Dk in Django [ru] #STAY HOME
Nikolay Cherniy
А как миграции в контейнерах проходят? я не знаю. Просто пишешь необходимые команды и они на автомате выполняются?
так
источник

D

Dk in Django [ru] #STAY HOME
В контейнер заливаются файлы и выполняется этот файл
источник

D

Dk in Django [ru] #STAY HOME
хм, cd лишние, конечно
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Dk
В контейнер заливаются файлы и выполняется этот файл
Ну это скрипт, а ручками нельзя?
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Dk
А если у меня уже запущена джанга, а я сделаю миграцию в это время, то что-нибудь упадёт, да?
Я так делал, у меня ничего не упало, но не на проде и не докер
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Dk
А если у меня уже запущена джанга, а я сделаю миграцию в это время, то что-нибудь упадёт, да?
Миграции атомарны, что значит в определенные таблицы(с которыми работает миграция) не будут доступны, лок на всю таблицу до окончания миграции
источник

D

Dk in Django [ru] #STAY HOME
Так а потом? Таблицы новые, а модели старые. Что случится?
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Dk
Так а потом? Таблицы новые, а модели старые. Что случится?
Если дефолт фолс, поставит везде фолс
источник

D

Dk in Django [ru] #STAY HOME
Dk
В общем, с новой миграцией в бд появляется поле confirmed, в view начинает отдавать поля только с confirmed=True
Но так как поля раньше не было, то все существующие объекты перестанут отдаваться т.к. по-умолчанию confirmed=False

Так вот, это всё крутится в контейнере, при новом билде сделаются миграцияи обновление кода.

Код в контейнере запускается sh файлом, который выполняет миграцию, collectstatic и запуск сервера.

Остановить я сервер никак не могу, конечно, это же прод.

Как считаете, нормально ли сделать хак, если в sh файл после миграции единоразово засунуть что-то вроде
python manage.py shell <("from models import Model; Model.objects.all().update(confirmed=True)"
)
не сработало в общем
источник

D

Dk in Django [ru] #STAY HOME
Не знаю почему. Пришлось в контейнер залезть и руками выполнить
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Dk
не сработало в общем
А что не сработало?
источник

GS

Grigory Surkov in Django [ru] #STAY HOME
Снова здравствуйте. Подскажите, как получить объекты созданные за прошедший месяц, неделю, день?
источник

GS

Grigory Surkov in Django [ru] #STAY HOME
У конкретнее по полю date_time_created = models.DateTimeField(auto_now_add=True, editable=False)
источник

D

Dk in Django [ru] #STAY HOME
Nikolay Cherniy
А что не сработало?
Что-то вроде
echo "from models import Model; Model.objects.all().update(confirmed=True)" | python manage.py shell
источник

D

Dk in Django [ru] #STAY HOME
Я не знаю почему, логи ничего не сказали
источник