Docker compose在django web应用程序上运行迁移;博士后数据库

Docker compose在django web应用程序上运行迁移;博士后数据库,django,postgresql,nginx,docker,docker-compose,Django,Postgresql,Nginx,Docker,Docker Compose,您好,我在django的postgres db容器上运行迁移时遇到问题 这是我的docker文件 web: restart: always build: ./web expose: - "8000" links: - postgres:postgres volumes: - /usr/src/app - /usr/src/app/static env_file: - ./.env environment: - DEBUG

您好,我在django的postgres db容器上运行迁移时遇到问题

这是我的docker文件

web:
  restart: always
  build: ./web
  expose:
    - "8000"
  links:
    - postgres:postgres
  volumes:
    - /usr/src/app
    - /usr/src/app/static
  env_file:
    - ./.env
  environment:
    - DEBUG=1
  command: /usr/local/bin/gunicorn mysite.wsgi:application -w 2 -b :8000

nginx:
  restart: always
  build: ./nginx/
  ports:
    - "80:80"
  volumes:
    - /www/static
  volumes_from:
    - web
  links:
    - web:web

postgres:
  restart: always
  build: ./postgres
  env_file: .env
  ports:
    - "5432:5432"
  volumes:
    - pgdata:/var/lib/postgresql/data/
目录结构如下所示

.env文件定义Postgres数据库、用户名和密码

DB_NAME=test
DB_USER=test
DB_PASS=test!
DB_SERVICE=postgres
DB_PORT=5432
POSTGRES_USER=test
POSTGRES_DB=test
POSTGRES_PASSWORD=test!
当我运行
docker compose build
docker compose up-d
nginx时,postgres和web容器就会启动。postgres启动(默认)创建数据库、用户和密码。django启动容器安装requirements.txt并启动django服务器(一切正常)

关于运行makemigration

docker compose运行web/usr/local/bin/python manage.py makemigrations轮询
我得到以下输出

“轮询”的迁移: 0001_首字母.py: -创建模型选择 -创建模型问题 -将字段问题添加到选项中

但是当我跑的时候

docker compose运行web/usr/local/bin/python manage.py showmigrations轮询
输出为

投票
(无迁移)

跑步时
docker compose运行web/usr/local/bin/python manage.py migrate——假轮询
我看到的输出

要执行的操作:
应用所有迁移:(无)
运行迁移:
没有要应用的迁移。
您的模型所做的更改尚未反映在迁移中,因此不会应用。
运行“manage.py makemigrations”进行新的迁移,然后重新运行“manage.py migrate”进行应用。


这些表不是在postgres中创建的。我做错了什么?很抱歉写了这么长的文章,但我想把所有的细节都放在这里。

你是否只有一个应用程序?你是否已将Django配置为在你的
设置.py
中使用postgresql?@KeenanLawrence是的Django配置为在settings.py中使用postgressql。@Aison是的,只有一个应用程序你使用的是哪个版本的Django?你只有一个吗应用程序与否?您是否已将Django配置为在
设置.py中使用postgresql?@KeenanLawrence是Django配置为在settings.py中使用postgressql。@Aison是的只有一个应用程序您使用的是哪个版本的Django?