【发布时间】:2020-12-29 08:40:55
【问题描述】:
我一直在尝试解决我目前遇到的问题,但我在这里或其他地方都没有找到任何适当的解决方案,所以我希望这里的人可能有答案。我已经到了一个我知道问题是什么但不知道如何解决它的地步。
基本上我有一个运行 django/postgres/nginx 的网站,它运行流畅,我可以制作新模型并迁移它们,但是如果我尝试向模型添加一个字段:
from django.db import models
class project(models.Model):
project_name = models.CharField(max_length=50)
author = models.CharField(max_length=30, blank=True, null=True)
date_created = models.DateField()
#Added in second round of migrations
#Description = models.CharField(max_length=150,blank=True, null=True)
我通常会做的是最初构建并启动我的容器
sudo docker-compose -f docker-compose.yml up --build
在我的入口点文件中,我运行 makemigrations 并迁移。
第一轮它运行良好,但如果我将描述字段添加到我的模型中,旋转并重建容器以允许新字段包含在我的容器中,新容器将在没有初始迁移的情况下构建,并且而不是新的迁移。这导致任何以前的 postgres 表都没有添加新字段,并且当我尝试请求数据时出现服务器错误 500,因为以前的表现在没有预期的列。
因此,我的问题是您通常如何管理容器化 django 应用程序的模型以确保您维护所有迁移?还是有其他我不知道的解决方案?
这可能是一个愚蠢的问题,但我对此很陌生,希望您能提供任何帮助。
【问题讨论】:
标签: django postgresql docker django-models docker-compose