inflearn logo
강의

Course

Instructor

Real-world! TDD through Spring Boot Product-Order API Development

Applying JPA

TRUNCATE TABLE 시 AUTO_INCREMENT 컬럼 1로 초기화

3494

pgrrr119

2 asked

2

MySQL이나 H2 에서 TRUNCATE TABLE 시 AUTO_INCREMENT 컬럼값도 1로 초기화되는 걸로 알고 있습니다. 그런데 강의에서는 TRUNCATE 후 AUTO_INCREMENT 컬럼인 ID 를 1부터 다시 시작하게 하는 쿼리를 추가하셔서 어떤게 맞는건지 헷갈립니다

좋은 강의 감사합니다

tdd spring-boot pojo 소프트웨어-테스트 api

Answer 1

2

ejoongseok

안녕하세요 pgrrr119 님!

말씀해주신대로 MySQL에서 TRUNCATE TABLE을 할 경우 AUTO_INCREMENT 컬럼 값이 초기값으로 재설정되어 AUTO_INCREMENT를 1으로 다시 변경하는 쿼리를 실행할 필요가 없습니다.
https://dev.mysql.com/doc/refman/8.0/en/truncate-table.html

H2는 TRUNCATE TABLE을 실행하더라도 IDENTITY가 기본값으로 재설정되지 않습니다!

https://www.h2database.com/html/commands.html#truncate_table

IDENTITY를 초기화 하기 위해서는 영상에서처럼

ALTER TABLE 'TABLE_NAME' ALTER COLUMN COLUMN_NAME RESTART WITH 1;

또는

TRUNCATE TABLE 'TABLE_NAME' RESTART IDENTITY;

와 같이 TRUNCATE TABLE 명령어 뒤에 RESTART IDENTITY를 추가해주시면 됩니다!

실제로 ID를 1으로 재설정하는 쿼리를 주석처리하고 전체 테스트를 실행하면 테스트 격리가 안되서

테스트가 실패하는것을 확인하실 수 있습니다!

0

pgrrr119

친절한 답변 감사드립니다!!

공식 문서까지 찾아주시다니.. 감동입니다..

제가 잘못 알고 있었군요

역시 GPT 보단 공식 문서를 봐야겠네요

다시 한번 감사드립니다

 

POJO에서 Spring Test로 넘어갈 때 누락(해결됨)

0

29

1

DatabaseCleanup 코드입니당 필요한 분들 쓰세요

0

125

1

이 방법이 TDD가 맞나요?

0

1108

2

POJO로 개발했는데 비즈니스 로직을 로깅해야 할 경우, 어떻게 해야 할까요?

0

336

1

generate -> add Dependency 이 메뉴가 안보이던데, 어떻게 보이게할까요?

0

352

1

실무 Asserta 사용여부가 궁금합니다.

0

454

1

테스트 코드 내의 지역변수를 final로 선언하는 이유가 궁금합니다.

0

528

1

통합테스트와 단위 테스트

0

964

1

의존성 및 설계? 부분 질문드립니다.

0

399

1

테스트 더블

0

394

1

리뷰반영 강의에서 shortcut ctrl + esc 는 어떻게 설정하나요?

0

482

1

POJO

0

596

1

POJO 상품 등록 기능 구현하기 강의 질문

1

543

1

steps 클래스를 사용하는 이유

0

340

1

랜덤 포트를 사용하는 이유

0

1104

1

상품등록 API 개발, JPA로 변환하기 에서

0

873

2

패키지 구조에 대해서 궁금합니다!

0

645

1

BeforeEach 를 하위 클래스에서 다시 사용하는것에 대해서 질문 드립니다.

1

562

1

ProductService의 updateProduct 로직 질문입니다.

0

556

2

POJO로 개발 후 스프링으로 전환, 이후 JPA 전환하는 이유

4

1283

1

TestRestTemplate 대신에 RestAssured를 사용하는 이유가 있을까요?

0

1187

1

API 테스트로 전환하기

0

1015

1

코드 스타일에 대해서 질문드립니다.

2

1135

1

혹시 강의 중에 나오는 플러그인 좀 알 수 있을까요

0

1218

1