728x90
1. 문제 상황
Docker 위에서 Django를 사용해 AWS RDS에 DB를 연동시키는 과정에서 다음과 같은 에러가 발생하였습니다.
"database does not exist"
분명히 AWS console에 접속하여 RDS가 존재하는 것을 확인하였으나 python manage.py migrate 명령어를 입력하면 위의 에러처럼 Database가 존재하지 않는다고 하였습니다.
2. 해결 방법
그러나, 검색을 통해서 해결방법을 찾았습니다.
stackoverflow.com/questions/51014647/aws-postgres-db-does-not-exist-when-connecting-with-pg
위 사이트에서 RDS Database Name이 AWS RDS DB 식별자가 아니라 default로 "postgres"인 경우가 있다고 하였습니다.
그래서, settings.py 파일에서 DATABASES의 NAME 부분에 AWS RDS DB 식별자가 아니라 "postgres"를 입력하면 위와 같은 에러가 해결됩니다.
DATABASES = {
"default": {
"ENGINE": os.environ.get("SQL_ENGINE", "django.db.backends.sqlite3"),
"NAME": os.environ.get("SQL_DATABASE", os.path.join(BASE_DIR, "db.sqlite3")),
"USER": os.environ.get("SQL_USER", "user"),
"PASSWORD": os.environ.get("SQL_PASSWORD", "password"),
"HOST": os.environ.get("SQL_HOST", "localhost"),
"PORT": os.environ.get("SQL_PORT", "5432"),
}
}
위와 같은 오류를 해결하는데 하루를 쓸 정도로 열심히 하였지만 이 블로그 글을 통해서 저 말고 다른 사람들은 이러한 시간 낭비가 없으면 좋겠습니다.
728x90
'Development > Django' 카테고리의 다른 글
[Django] Path Variable 과 Query Parameter (0) | 2021.03.18 |
---|---|
[Django] 동적 필터링 (0) | 2021.03.13 |
[Django] User Model 확장 (6) - UserManager (0) | 2021.03.13 |
[Django] User Model 확장 (5) - AbstractBaseUser 모델 상속한 사용자 정의 User 모델 사용하기 (0) | 2021.02.24 |
[Django] User Model 확장 (4) - AbstractUser 모델 상속한 사용자 정의 User 모델 사용하기 (0) | 2021.02.24 |