Миграции django не работают в контейнере docker
У меня есть проект, разработанный на djnago, и когда я добавляю новое поле в models.py и запускаю makemigrations и migrations, он работает нормально, моя проблема в том, что когда я запускаю docker container, кажется, что миграции не применяются и новое поле не добавляется в модель, поскольку я получаю эту ошибку, когда я пытаюсь открыть панель администратора :
ProgrammingError at /admin/
column account_profile_user.uid does not exist
LINE 1: ...er"."level", "account_profile_user"."user_photo", "account_p...
which uid - это новое поле, которое я добавил в models.py .
это Dockerfile:
FROM python:alpine
RUN apk update \
&& apk add --virtual build-deps gcc python3-dev musl-dev \
&& apk add postgresql-dev \
&& apk add jpeg-dev zlib-dev libjpeg libffi-dev
ENV CRYPTOGRAPHY_DONT_BUILD_RUST=1
WORKDIR /app
COPY requirements.txt /tmp/
RUN pip install --requirement /tmp/requirements.txt
COPY . /app/
ENTRYPOINT [ "./entrypoint.sh" ]
и вот этот entrypoint.sh :
#!/bin/sh
if [ "$DATABASE" = "postgres" ]
then
echo "Waiting for postgres..."
while ! nc -z $SQL_HOST $SQL_PORT; do
sleep 0.1
done
echo "PostgreSQL started"
fi
python manage.py makemigrations
python manage.py migrate
python manage.py collectstatic --noinput
exec "$@"
а это docker compose:
services:
account:
build:
context: .
dockerfile: Dockerfile
env_file:
- ./envs/development.env
volumes:
- ./:/app
- /store/account/media:/app/media
- /store/account/static:/app/static
ports:
- 8000:8000
#- 5432:5432
command:
gunicorn account.wsgi:application --reload --bind 0.0.0.0:8000
account-database:
image: postgres:alpine
env_file:
- ./envs/development.db.env
volumes:
- account-volume-db:/var/lib/postgresql/data:rw
volumes:
account-static:
account-media:
account-volume-db:
networks:
default:
name: project
я уже пробовал docker exec и выполнять миграции внутри контейнера docker и это не сработало