codestates / codestates/Subllet

[ERR] ERROR: Failed to open the referenced table 'Users'

Open
#120 0 comments 0 reactions 1 assignee Claimed by @ionc635 View on GitHub
ERR
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.