fix #495: add schema preflight and DDL details
This commit is contained in:
@@ -31,6 +31,13 @@ public class SettingController {
|
||||
model.addAttribute("runtimeErrorTitle", error.title());
|
||||
model.addAttribute("runtimeErrorMessage", error.message());
|
||||
}
|
||||
try {
|
||||
model.addAttribute("schemaPreflight", backofficeSchemaService.preflight());
|
||||
} catch (DataAccessException exception) {
|
||||
RuntimeErrorMessage error = RuntimeErrorMessages.dataAccess(exception);
|
||||
model.addAttribute("schemaPreflightErrorTitle", error.title());
|
||||
model.addAttribute("schemaPreflightErrorMessage", error.message());
|
||||
}
|
||||
return "settings";
|
||||
}
|
||||
|
||||
@@ -46,8 +53,16 @@ public class SettingController {
|
||||
|
||||
@PostMapping("/settings/schema/initialize")
|
||||
public String initializeSchema(RedirectAttributes redirectAttributes) {
|
||||
redirectAttributes.addFlashAttribute("schemaResults", backofficeSchemaService.initializeSchema());
|
||||
redirectAttributes.addFlashAttribute("message", "백오피스 지원 테이블 DDL을 실행했습니다.");
|
||||
var results = backofficeSchemaService.initializeSchema();
|
||||
long failures = results.stream()
|
||||
.filter(result -> "FAILED".equalsIgnoreCase(result.status()))
|
||||
.count();
|
||||
redirectAttributes.addFlashAttribute("schemaResults", results);
|
||||
if (failures > 0) {
|
||||
redirectAttributes.addFlashAttribute("error", "백오피스 지원 DDL 실행 중 " + failures + "개 작업이 실패했습니다. 결과와 SQL을 확인하세요.");
|
||||
} else {
|
||||
redirectAttributes.addFlashAttribute("message", "백오피스 지원 테이블 DDL을 실행했습니다.");
|
||||
}
|
||||
return "redirect:/settings";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user