codestates / codestates/Subllet
[ERR] ERROR: Failed to open the referenced table 'Users'
- Dominant language
- JavaScript
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
### 어떤 에러인가요?
- 'foreign key'를 가진 Table이 'primary key'를 가진 Table보다 먼저 migration될 때 에러가 발생했습니다.
### 에러 메시지
```shell
ERROR: Failed to open the referenced table 'Users'
```
### 에러 핸들링 방법
sequelize에서 migration을 사용해 column을 형성할 때, 아래와 같이 'foreign key'를 설정했습니다.
```
await queryInterface.addConstraint("Askings", {
fields: ["user_id"],
type: "foreign key",
references: {
table: "Users",
field: "id",
},
```
하지만 해당 migrations 파일에서 아래와 같이 간단하게 설정해주는 방법도 있다는 사실을 확인했습니다.
```
user_id: {
type: Sequelize.INTEGER,
references: { model: "Users", key: "id" },
},
```
아래 방식으로 전면 수정하려 했으나 'foreign key'를 가진 Table이 'primary key'를 가진 Table보다 먼저 migration될 때 에러가 발생했습니다. 이는 각 파일의 생성 시간 순으로 migration이 되기 때문 임을 확인했습니다.
### 에러 핸들링을 위해 참고한 레퍼런스 링크
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.