프론트에서 회원 더미 데이터를 요청하셔서 더미 데이터를 생성해보았습니다.
어떻게 하는 건가 궁금했었는데, 이 참에 방법을 공부했습니다.
1. 먼저 resource 폴더에 data.sql 파일을 만들어 줍니다.
그리고 data.sql 내부에 원하는 Query 문을 작성해줍니다.
2. application.yml (또는 application.properties) 파일에 설정을 추가해줍니다.
위에 작성된 설정 중 data.sql 파일에 설정한 query문이 정상적으로 작동되게 하기 위한 설정은 defer-datasource-initialization:true 입니다.
어떤 설정인지 한 번 살펴보겠습니다.
설명에는 Bean들이 생성/init될 때까지 DataSource initialization을 보류할 것인지 아닌지 결정하는 설정이라고 되어있습니다.
기본 값은 false인데, true로 설정하게 되면 Hibernate이 init 되기 전에 data.sql script 가 실행되게 됩니다.
만일 해당 부분을 false로 내버려두면 아래처럼 오류가 발생합니다.
JdbcSQLSyntaxErrorException이 발생하네요.
모든 application.yml 설정을 다 아는 것은 아니지만 이렇게 알게 될 때마다 정리를 좀 해두어야겠습니다 ㅎㅎ
감사합니다!
👀 이번에 항상 궁금했던 log에 예쁜 색상 추가하는 설정 방법도 알게되었습니다.
spring:
output:
ansi:
enabled: always
application.yml에 이렇게 설정해주면 콘솔에 찍히는 로그에 색상이 추가되어 가독성이 좀 더 좋아집니다.
참고 자료
https://devvkkid.tistory.com/262
data.sql이 동작하지 않을 때, 의심해봐야 할 것
스프링에서 test 패키지 내부에 data.sql을 넣은 것만으로도 data.sql 내부의 쿼리를 실행시킬 수 있다. 이런 방법으로 테스트용 더미 데이터를 생성하고 테스트를 동작시킬 수 있다. 비슷한 방법으로
devvkkid.tistory.com
https://zzerosouth.tistory.com/51
[Spring Boot] 테스트 데이터 생성 (.sql 실행)
개요. 단위테스트, 통합테스트 코드를 작성하면서, 한 가지 의문점이 생겼다. 로컬 환경에서 테스트 할 때는 더미데이터를 직접 넣어둔 상태로 테스트를 진행했다.(혹은 테스트코드 앞단에 Rollba
zzerosouth.tistory.com
https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html
Common Application Properties
docs.spring.io
Spring Boot datasource initialization error with data.sql script after 2.5.0 upgrade
I have a project configured with Spring Boot and Spring Data JPA. My project contains the following data.sql initialization script (I'm just starting developing my application that's why I use an
stackoverflow.com
'Java' 카테고리의 다른 글
char 배열과 String class 간 변환 (0) | 2022.08.13 |
---|---|
IntelliJ 콘솔 한글 깨짐 해결법 (0) | 2022.07.28 |
[Eclipse] Maven Error-Could not initialize class org.apache.maven.plugin.war.util.WebappStructureSerializer 해결하기 (0) | 2022.06.21 |
java.net.BindException: Address already in use Mac 해결방법 (0) | 2022.06.19 |
int를 char로 변형하기! (2) | 2022.06.10 |