我有一个部署到docker的摇尾应用程序,但是之后我得到了一个非常奇怪的错误,下面是步骤:
步骤1:
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步:
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应用程序中添加了一些自定义。
发布于 2022-08-08 20:13:41
您需要在本地创建迁移文件,并使用包含的新迁移文件重新构建映像。您的迁移文件就像应用程序中的任何其他代码一样,应该作为映像构建过程的一部分包括在映像中。
在第一个命令中运行makemigrations时,您将创建一个新容器,该容器将在该容器中创建新的迁移文件.但是,当您运行第二个命令时,您将创建另一个单独的容器。因为第二个命令创建的容器是分开的,所以它将不包含从第一个命令创建的文件--因此,由于不存在新的迁移文件,所以您会看到消息No迁移来应用。
https://stackoverflow.com/questions/73283337
复制相似问题