Docker compose在django web应用程序上运行迁移;博士后数据库
您好,我在django的postgres db容器上运行迁移时遇到问题 这是我的docker文件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
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?