The column {column} does not exist in the current database.
Prisma P2022 오류를 식별하고 실행 환경의 데이터베이스, 실제 열, migration 적용 상태를 확인하는 방법을 설명합니다.
빠른 답변
- 우선 확인할 원인
- Prisma P2022는 오류 메시지의 `{column}` 열이 현재 연결된 데이터베이스에 없다는 뜻입니다. 코드만 수정하거나 운영 데이터베이스를 초기화하지 말고, 실행 환경의 대상 데이터베이스와 실제 열, `prisma/migrations`와 `_prisma_migrations`의 적용 상태를 먼저 확인합니다.
- 먼저 확인할 항목
- 오류 코드가 `P2022`인지 확인합니다.
- 적용 범위
- 현재 증상과 본문에 적은 관찰 조건이 함께 확인된 경우문맥: 바이브 코딩
- 출처
- Prisma
- 출처 확인일
- 2026-08-29
- 최종 검토
- 2026-08-29
- 수정일
- 2026-08-29
- 정정 이력
- 2026-07-29 이후 기록 없음
- 관련 기술
현재 증상
- 애플리케이션 오류 메시지
먼저 확인할 항목
오류 코드가 `P2022`인지 확인합니다.
오류 메시지가 `The column {column} does not exist in the current database.` 형식과 일치하는지 확인합니다.
`{column}` 위치에 표시된 열 이름을 기록합니다.
오류가 난 실행 환경의 데이터베이스 호스트·이름을 비밀값 없이 확인합니다.
읽기 전용 스키마 조회에서 메시지에 표시된 열이 실제 테이블에 있는지 확인합니다.
`prisma migrate status`로 로컬 migration 파일과 대상 데이터베이스의 migration 기록을 비교합니다.
피해야 할 조치
주의
- 운영 데이터베이스에서 `prisma migrate reset`, `prisma migrate dev`, `prisma db push`부터 실행하지 않습니다.
- 적용 여부와 SQL 내용을 검토하지 않은 migration을 운영 데이터베이스에 실행하지 않습니다.
- `DATABASE_URL`, 데이터베이스 비밀번호, 운영 데이터 원문을 로그나 전달 자료에 남기지 않습니다.
환경별 원인과 조치
오류 식별
- Prisma Client가 표시한 오류 코드가
P2022인지 확인합니다. - 오류 메시지가
The column {column} does not exist in the current database.형식인지 확인합니다. {column}위치에 표시된 열 이름을 기록합니다.
오류 코드와 메시지가 모두 일치하면 Prisma P2022로 식별합니다. 테이블 전체가 없다는 P2021과 구분해야 합니다. P2021이 표시되면 The table {table} does not exist in the current database. 문서를 확인합니다.
먼저 확인할 대상
- 오류가 난 실행 환경이 개발·Preview·운영 중 어디인지 기록합니다.
- 애플리케이션이 실제로 사용하는 데이터베이스 호스트와 데이터베이스 이름을 확인합니다. 접속 문자열과 비밀번호는 출력하지 않습니다.
- 오류의
{column}에 표시된 열 이름과 Prisma 모델의 필드 이름·@map값을 비교합니다. - 데이터베이스 관리 도구의 읽기 전용 스키마 조회에서 해당 열이 실제 테이블에 있는지 확인합니다.
애플리케이션이 예상과 다른 데이터베이스를 보고 있으면 migration을 실행하지 말고 배포 환경의 연결 설정부터 수정합니다.
Migration 적용 상태 확인
대상 환경과 접속 권한을 확인한 뒤 다음 명령으로 migration 파일과 데이터베이스의 migration 기록을 비교합니다.
npx prisma migrate statusprisma migrate status는 prisma/migrations와 대상 데이터베이스의 _prisma_migrations를 비교합니다. 실제 테이블·열 전체를 검사해 schema drift를 판정하는 명령은 아니므로 읽기 전용 스키마 조회와 함께 봅니다.
| 확인 결과 | 다음 확인 |
|---|---|
| 적용되지 않은 migration이 있음 | 해당 migration SQL에 열 추가가 포함됐는지 검토하고 정상 배포 절차가 누락됐는지 확인합니다. |
| migration history가 서로 다름 | 적용된 migration을 수정·삭제했는지와 배포된 커밋을 비교합니다. |
| migration 기록은 일치하지만 열이 없음 | 수동 변경, hotfix, 잘못된 대상 데이터베이스 또는 migration 밖의 변경을 확인합니다. |
| 열은 존재하지만 P2022가 계속 발생함 | Prisma Client가 생성된 schema와 현재 실행 코드·데이터베이스가 같은 배포본인지 확인합니다. |
운영 환경에서 pending migration을 적용해야 한다면 SQL과 백업·복구 절차를 검토한 뒤 CI/CD의 prisma migrate deploy 단계로 실행합니다. Prisma 공식 문서에 따르면 migrate deploy는 실제 데이터베이스의 schema drift를 탐지하지 않으므로, 명령 성공만으로 열 존재를 단정하지 않습니다.
수정 뒤 확인
- 같은 배포 환경에서
prisma migrate status결과를 다시 기록합니다. - 읽기 전용 스키마 조회에서 대상 열의 이름과 타입을 확인합니다.
- Prisma Client를 현재 schema로 생성한 배포본인지 확인합니다.
- 같은 요청을 다시 실행해 P2022가 사라졌는지 확인합니다.
운영 데이터베이스를 초기화하거나 임의로 열을 추가하는 조치는 이 문서의 자동 실행 범위에 포함하지 않습니다. 전체 분기와 전달 자료는 Prisma P2021·P2022 오류 확인 가이드에서 확인합니다.
출처
참고 자료
Prisma · 공식 자료 · 확인 범위: P2022의 오류 메시지는 "The column {column} does not exist in the current database."입니다. · 확인일: 2026-08-29
Prisma · 공식 자료 · 확인 범위: prisma migrate status는 로컬 migration 파일과 대상 데이터베이스의 _prisma_migrations 기록을 비교합니다., 적용되지 않은 migration, 서로 달라진 migration history, 실패한 migration이 있으면 오류 상태를 반환합니다. · 확인일: 2026-08-29
Prisma · 공식 자료 · 확인 범위: migrate dev와 migrate reset은 개발 환경용이며 운영 환경에서 사용하지 않습니다., 운영·테스트 환경의 pending migration은 migrate deploy로 적용합니다., migrate deploy는 실제 데이터베이스 schema drift를 탐지하지 않습니다. · 확인일: 2026-08-29
Prisma · 공식 자료 · 확인 범위: prisma db push나 수동 스키마 변경은 migration history와 실제 스키마의 차이를 만들 수 있습니다. · 확인일: 2026-08-29