ZinnaChoi / Study-Management

온라인 스터디 관리 시스템: 부재 일정 캘린더, 토론 게시판 및 알림 기능 제공
8 stars 0 forks source link

[Fix Request] 부재 일정 저장 성공 Test 에러 해결 요청 #56

Closed ZinnaChoi closed 7 months ago

ZinnaChoi commented 7 months ago

안녕하세요 @dayeon-dayeon

main 브랜치에서 확인 결과 test 함수 중 createAbsentDailyLogSuccess()에서 에러가 발생합니다

로그 첨부드리니, 에러 원인 파악 후 해결 부탁드립니다!

org.springframework.jdbc.datasource.init.ScriptStatementFailedException: Failed to execute SQL script statement #2 of class path resource [stat/StatAbsentScheduleSetup.sql]: INSERT INTO study.`schedule` (schedule_id, start_time,end_time, schedule_name) VALUES ('1','13:00','14:00','PM1'), ('2','14:00','15:00','PM2'), ('3','15:15','16:15','PM315'), ('4','13:15','17:15','PM415'), ('5','15:00','22:00','PM9'), ('6','22:00','23:00','PM10')
 at org.springframework.jdbc.datasource.init.ScriptUtils.executeSqlScript([ScriptUtils.java:282](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
 at org.springframework.jdbc.datasource.init.ResourceDatabasePopulator.populate([ResourceDatabasePopulator.java:254](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
 at org.springframework.jdbc.datasource.init.DatabasePopulatorUtils.execute([DatabasePopulatorUtils.java:54](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
 at org.springframework.jdbc.datasource.init.ResourceDatabasePopulator.execute([ResourceDatabasePopulator.java:269](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
 at org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener.lambda$executeSqlScripts$9([SqlScriptsTestExecutionListener.java:362](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
 at org.springframework.transaction.support.TransactionOperations.lambda$executeWithoutResult$0([TransactionOperations.java:68](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
 at org.springframework.transaction.support.TransactionTemplate.execute([TransactionTemplate.java:140](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
 at org.springframework.transaction.support.TransactionOperations.executeWithoutResult([TransactionOperations.java:67](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
 at org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener.executeSqlScripts([SqlScriptsTestExecutionListener.java:362](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
 at org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener.lambda$executeSqlScripts$4([SqlScriptsTestExecutionListener.java:275](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
 at java.base/java.lang.Iterable.forEach([Iterable.java:75](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
 at org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener.executeSqlScripts([SqlScriptsTestExecutionListener.java:275](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
 at org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener.executeSqlScripts([SqlScriptsTestExecutionListener.java:219](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
 at org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener.beforeTestMethod([SqlScriptsTestExecutionListener.java:165](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
 at org.springframework.test.context.TestContextManager.beforeTestMethod([TestContextManager.java:320](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
 at org.springframework.test.context.junit.jupiter.SpringExtension.beforeEach([SpringExtension.java:240](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
 at java.base/java.util.ArrayList.forEach([ArrayList.java:1511](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
 at java.base/java.util.ArrayList.forEach([ArrayList.java:1511](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '1' for key 'schedule.PRIMARY'
 at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException([SQLError.java:117](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
 at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException([SQLExceptionsMapping.java:122](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
 at com.mysql.cj.jdbc.StatementImpl.executeInternal([StatementImpl.java:763](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
 at com.mysql.cj.jdbc.StatementImpl.execute([StatementImpl.java:648](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
 at com.zaxxer.hikari.pool.ProxyStatement.execute([ProxyStatement.java:94](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
 at com.zaxxer.hikari.pool.HikariProxyStatement.execute(HikariProxyStatement.java)
 at org.springframework.jdbc.datasource.init.ScriptUtils.executeSqlScript([ScriptUtils.java:261](vscode-file://vscode-app/c:/Users/yeahee/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html))
 ... 17 more
dayeon-dayeon commented 7 months ago

자동증가되는 값인 기본키들을 임의의 정수로 지정한 insert문을 사용해서 기존에 DB에 저장되어있는 데이터들과 중복된 경우가 있어 에러가 발생하였던 것으로 보입니다. 수정하였습니다 ! https://github.com/ZinnaChoi/Study-Management/pull/58

MeMyself-And-I commented 7 months ago

변경 쿼리 확인 후 머지하였습니다 이슈 close 할게요!