728x90
현재 상황은
django를 사용하고 있고,
AWS E2C로 DB 서버만 띄워놓은 상태이고,
팀원들과 공유를 하려고 하니
(1054, "Unknown column 'fundings_funding_msg.written_date' in 'field list'")
다음과 같은 에러가 발생했다.
테이블을 찾아가보니 진짜로 written_date라는 column이 없었다.
장고 모델에는 다같이 있는데,,
다같이 migrate 했을텐데 뭐가 문제일까..??
계속 추가 마이그레이션을 해봐eh, written_date cloumn 자체를 못읽는것같아 모델 코드를 다시 보았다.
- auto_now_add=True:
- auto_now_add를 True로 설정하면 해당 필드가 객체 생성 시 현재 날짜와 시간으로 설정된다는 의미입니다.
- 일회성 초기화 역할을 하며 객체가 처음 저장될 때 필드 값을 현재 타임스탬프로 설정합니다.
- auto_created=True:
- auto_created 속성은 DateTimeField와 함께 사용되지 않습니다. 이는 일반적으로 models.ForeignKey 필드와 연관되어 있으며 외래 키 관계가 모델에 명시적으로 정의되지 않고 Django에 의해 자동으로 생성되었음을 나타내는 데 사용됩니다.
- DateTimeField의 경우 의도된 동작에 대해 auto_now_add=True를 사용해야 합니다.
auto_created는 db에 생성여부를 알려주는건데,
auto_now_add=True, auto_created=True라면 DB에 접근할때마다 자동으로 생성해라 라는 뜻인데, 그렇게 된다면 DB 생성할 그 당시에는 column이 없어서 오류가 발생하는 것 같다.
그래서 auto_created를 지우고 다시 migration!
makemigrations 다시 해줬는데
전 마이그레이션이랑 꼬였는지 중복 column이 있다고 한다.
중복 column이 너무 많아서 migration 단계에서 꼬인것 같다
결국 db 날리고 다시 만들어서 다시 migration했다...ㅎㅎ;
728x90
'코딩 > SQL, Mysql' 카테고리의 다른 글
[Sql] 무결성 제약조건(Integrity Constrains) (0) | 2024.04.20 |
---|---|
[Sql] key와 super key, 좋은 Primary key의 조건 (0) | 2024.04.20 |