728x90

 

 

개요

프로젝트 진행 중 새로운 요구사항으로 인해 이미 배포된 애플리케이션의 엔티티에 새로운 필드를 추가해야 했습니다. 코드상으로는 엔티티를 수정했지만, 실제 RDS의 테이블에는 해당 컬럼이 존재하지 않아 애플리케이션 실행 시 오류가 발생했습니다.

 

  jpa:
    hibernate:
      ddl-auto: update

 

이 상황에서 '운영 중인 RDS에 어떻게 안전하게 새 컬럼을 추가할 수 있을까?'라는 고민이 들었습니다.

 

'RDS 인스턴스를 중단하고 다시 시작해야 하나?', 'JPA 설정에서 update로 설정했는데, 왜 자동으로 스키마가 업데이트되지 않는 걸까?' 등의 의문이 생겼습니다.

 

이러한 고민을 팀원들과 공유하던 중, 한 팀원이 IntelliJ IDEA의 'Database' 도구에서 제공하는 'Modify Table' 기능을 소개해 주었습니다

 

 

Modify Table

IntelliJ IDEA의 'Database' 도구에서 제공하는 'Modify Table' 기능은 데이터베이스 스키마를 직접 수정할 수 있는 유용한 도구입니다.

 

접근 방법

 

  • ntelliJ IDEA의 오른쪽 사이드바에서 'Database' 탭을 선택합니다.
  • 데이터베이스 연결을 설정하고 해당 스키마를 엽니다.
  • 수정하고자 하는 테이블을 우클릭하고 'Modify Table'을 선택합니다.

 

 

Modify 탭에 들어오면 위와 같이 +버튼을 눌러 원하는 옵션을 체크할 수 있습니다.

 

  • Name
    • 컬럼의 이름을 지정합니다. 
  • Comment
    • 컬럼에 대한 설명이나 주석을 추가할 수 있습니다.
  • Data Type
    • 컬럼의 데이터 타입을 지정합니다.
  • Not Null
    • 체크하면 해당 컬럼에 NULL 값을 허용하지 않습니다.
  • Default Expression
    • 새 레코드 삽입 시 기본값을 지정할 수 있습니다.
  • Identity Kind
    • 자동 증가 등의 특별한 컬럼 속성을 설정할 수 있습니다.
  • Identity
    • 체크하면 해당 컬럼을 자동 증가 컬럼으로 설정합니다.
  • Min, Max, Step
    • Identity 설정 시 사용되며, 각각 최소값, 최대값, 증가 단위를 지정합니다.
  • Cache Size
    • 데이터베이스 성능 최적화를 위한 캐시 크기를 설정할 수 있습니다.
  • Cycled
    • Identity 컬럼에서 최대값에 도달했을 때 다시 최소값부터 시작할지 설정합니다.