首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >迁移/ MakeMigrations难题

迁移/ MakeMigrations难题
EN

Stack Overflow用户
提问于 2022-08-08 19:53:31
回答 1查看 171关注 0票数 1

我有一个部署到docker的摇尾应用程序,但是之后我得到了一个非常奇怪的错误,下面是步骤:

步骤1:

代码语言:javascript
运行
复制
docker-compose run app /venv/bin/python manage.py makemigrations`
    

Migrations for 'locations':
  bakerydemo/locations/migrations/0008_alter_locationoperatinghours_day.py
    - Alter field day on locationoperatinghours`

第2步:

代码语言:javascript
运行
复制
docker-compose run app /venv/bin/python manage.py migrate locations
    
        Operations to perform:
      Apply all migrations: locations
    Running migrations:
      ===> No migrations to apply. <===  HUH?
      Your models in app(s): 'locations' have changes that are not yet reflected in a migration, and so won't be applied.
      ===> Run 'manage.py makemigrations' to make new migrations, 
      and then re-run 'manage.py migrate' to apply them.  <=== DOUBLE HUH?

任何能告诉我这里可能发生了什么的摇尾车、django或码头爱好者?关于Heroku的一个类似的问题提到在Heroku化之前运行迁移,这是我在这里尝试过的,但是它在修改容器后在我的位置应用程序中造成了一个错误。解决方案来自https://github.com/wagtail/bakerydemo,我在locations应用程序中添加了一些自定义。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-08 20:13:41

您需要在本地创建迁移文件,并使用包含的新迁移文件重新构建映像。您的迁移文件就像应用程序中的任何其他代码一样,应该作为映像构建过程的一部分包括在映像中。

在第一个命令中运行makemigrations时,您将创建一个新容器,该容器将在该容器中创建新的迁移文件.但是,当您运行第二个命令时,您将创建另一个单独的容器。因为第二个命令创建的容器是分开的,所以它将不包含从第一个命令创建的文件--因此,由于不存在新的迁移文件,所以您会看到消息No迁移来应用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73283337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档