使用Django和Docker从MySQL迁移到postgresql – 关系“authtoken_token”不存在
我正在尝试使用MySQL数据库将我的Django项目迁移到使用Docker的postgresql。 当我使用MySQL时,一切正常。 我有所有在ORM,所以当我使用MySQL时,我必须创build唯一的数据库和做的python manage.py makemigrations
,然后python manage.py migrate
,我准备好所有关系的数据库。 正如我所提到的,我试图使用postgresql数据库。 服务器似乎工作正常使用docker-compose up
,但是当我发送实例GET请求我得到:
ProgrammingError at /data relation "authtoken_token" does not exist LINE 1: ...user"."is_active", "auth_user"."date_joined" FROM "authtoken...
我的设置:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'postgres', 'USER': 'postgres', 'HOST': 'db', 'PORT': 5432, } }
我docker-compose.yml
:
version: '3' services: db: image: postgres web: build: . command: python3 DIR/backend/dir/manage.py runserver 0.0.0.0:8000 volumes: - .:/code ports: - "8000:8000" depends_on: - db
Dockerfile
:
FROM python:3.6.1 ENV PYTHONUNBUFFERED 1 RUN mkdir /code WORKDIR /code ADD requirements.txt /code/ RUN pip3 install -r requirements.txt ADD . /code/ CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f364a72186ce dockerpri_web "python3 PROJECT/backe..." 19 seconds ago Up 18 seconds 0.0.0.0:8000->8000/tcp dockerpri_web_1 774ae20bcaa3 postgres "docker-entrypoint..." 9 hours ago Up 19 seconds 5432/tcp dockerpri_db_1 MacBook-Pro:DockerPROJECT myName$ docker exec -ti dockerproject_web_1 /bin/bash root@f364a72186ce:/code#