Drizzle | 외래 키가 있는 부분적으로 노출된 테이블 시딩하기
This guide assumes familiarity with:
예제 1: 외래 키가 있는 부분적으로 노출된 테이블 시딩하기
아래와 같은 시딩 스크립트와 스키마를 사용해 데이터베이스에 데이터를 채우려고 한다고 가정해 보겠습니다.
bloodPressure
테이블의 userId
컬럼에 not null
제약 조건이 있다면, 시딩 스크립트를 실행할 때 다음과 같은 오류가 발생합니다.
이것이 무엇을 의미하나요?
이 오류는 userId
컬럼에 not null
제약 조건이 있기 때문에 Null 값을 채울 수 없음을 의미합니다.
또한, seed
함수 스키마에 users
테이블을 노출하지 않았기 때문에 users.id
값을 생성하여 userId
컬럼을 채울 수 없습니다.
이 문제를 해결하기 위해 다음과 같은 방법을 고려할 수 있습니다:
userId
컬럼에서 not null
제약 조건을 제거할 수 있습니다.
seed
함수 스키마에 users
테이블을 노출할 수 있습니다.
userId
컬럼 생성기를 조정할 수 있습니다.
예제 2
위의 시딩 스크립트를 실행하면 다음과 같은 경고가 표시됩니다.
이것이 무엇을 의미하나요?
이는 seed
함수 스키마에 users
테이블을 제공하지 않았거나, userId
컬럼 생성기를 구체화하지 않았음을 의미합니다.
결과적으로 userId
컬럼은 Null 값으로 채워질 것입니다.
이제 두 가지 선택지가 있습니다:
userId
컬럼 생성기 개선하기
이 작업을 수행하려면 데이터베이스의 users
테이블에 이미 1과 2 같은 ID가 존재해야 합니다.