2016-03-25 2 views
0

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

Я работаю с postgresql 9.3, и я нахожу некоторые причины этой проблемы. Если postgresql имеет активную транзакцию, запрос alter table не работает. Итак, до сих пор перезапуск службы postgresql до миграции был решением, но я думаю, что это плохая идея.

Есть ли хорошая идея для успешного развертывания?

ответ

0

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

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

+0

Спасибо за ваш ответ. Мой сервис довольно прост. Он имеет всего несколько простых запросов. Поэтому я не уверен, будет ли какое-либо соединение длиться очень долго. (Как более 1 минуты, это часто случается). Кроме того, как это может случиться до ожиданий, делает целую блокировку базы данных? – qodot

 Смежные вопросы

  • Нет связанных вопросов^_^