如何解决使用Swarm / k8s对Django应用程序进行排序时,列名重复
我的Django应用程序使用入口点脚本,以便使用Docker作为首选的虚拟机管理程序平台来启动应用程序。 容器启动后,将执行几项检查以确定服务级别,数据库可用性,迁移状态等等(请参见下面的缩短片段):
...
if [ "$SERVICE_TYPE" = "app" ]
then
echo "Check for open migrations"
python manage.py makemigrations $App1 $App2 $App3 etc...
python manage.py migrate
echo "Checking if System User is setup"
python manage.py shell <<-EOF
from django.contrib.auth import get_user_model
User = get_user_model() # get the currently active user model
User.objects.filter(user='$SYS_USER').exists() or User.objects.create_superuser('$SYS_USER','$SYS_USER')
EOF
一旦执行“ python manage.py makemigrations $ App1 $ App2 $ App3” 出现以下错误:
django.db.utils.OperationalError:(1060,“重复的列名 'voter_id'“)
实际上,只有在我使用Docker swarm或K8S扩展应用程序容器时,才会发生这种情况。第一个容器的初始启动过程始终运行良好! 请纠正我,如果我错了,但是如果不是“ python manage.py makemigrations”那样,因为没有等待应用到数据库的开放式迁移,那它应该不会出现这样的错误吗?
实际上,我总是希望Django打印:“未在应用程序中检测到更改”,因为没有应用更改,仅此而已。 有什么建议可以看看吗?
预先感谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。