>source

TomEE 8.0.9를 사용하고 있습니다. webapp을 .war 형식으로 배포해야 합니다. 쉬운 설치를 보장하기 위해 데이터베이스(자원.xml) 모든 테이블과 일부 초기 레code와 함께 자동으로 생성됩니다(.sql 파일 사용).

시작할 때 실행되는 클래스로 시도했지만 웹 앱 배포 중에 데이터베이스가 연결되지 않으면 문제가 발생합니다. JDBC 커넥션이 처음 생성될 때 액션을 취할 수 있는 방법이 없을까요? 톰캣이 제공하는초기화 SQL매개변수이지만 하나의 명령문으로만 작동합니다.

일반적으로 앱을 처음 시작할 때 데이터베이스를 만드는 가장 좋은 방법은 무엇입니까?

Flyway는 이것으로 유명합니다(그리고 훨씬 더 많은 일을 합니다).

Tim Moore2022-02-15 12:42:12

@TimMoore maven 플러그인은 프로젝트를 빌드할 때만 작동하는 것 같습니다(또는 mvn 목표를 수동으로 호출하여). 런타임에 작동하도록 하려면 시작 시 실행되는 클래스에서 Flyway를 프로그래밍 방식으로 실행해야 합니까?

cidra2022-02-15 12:42:12

맞습니다. flywaydb.org/documentation/getstarted/firststeps/api를 호출할 수 있는 API가 있습니다.

Tim Moore2022-02-14 20:20:19
  • 이전 java : Foreach 키 값 쌍 문제
  • 다음 Excel VBA에서 열에서 키워드 찾기 및 다른 열 편집