sequelize 2

데이터베이스 이모지 관련 에러 해결 - Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8mb4_unicode_ci,COERCIBLE) for operation '=' 에러가 aws RDS에서 발생했을 때 해결

mysql 공식문서에 따르면 collation 디폴트 값은 utf8mb4_0900_ai_ci입니다. The default MySQL server character set and collation are utf8mb4 and utf8mb4_0900_ai_ci 필자는 아래와 같은 과정으로 aws RDS에 mysql DB을 올려놨습니다. mysql 워크벤치를 통해 ERD을 만들고 forward를 통해 로컬 db와 동기화를 시켜줬습니다. 그 다음 sequelize-cli의 seed 명령어를 통해 데이터를 생성해줬습니다. 서버 내부에서는 sequelize-auto를 사용해서 만들어진 데이터베이스 구조를 사용했습니다. 이 구조에 charset, collate 옵션을 utf8mb4, utf8mb4_general_ci..

DB 2021.08.20

sequelize-cli와 sequelize-auto

mysql workbentch를 사용하는 것도 db 모델링하는 좋은 방법이다. 하지만 sequelize-auto로 연동할 경우 init_models.js 수정, 클래스에서 created_at, update_at, defaultValue를 직접 설정해줘야 한다. 하지만 workbentch에서 테이블 간의 관계를 잘 만들어놓았으면 auto가 관계까지 잘 가져온다. mysql workbentch에 created_at, update_at 필드를 만들어주고 default value에 now()를 넣으면 updated_at: { type: DataTypes.DATE, allowNull: true, defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP') } 이..

js 2021.08.17