DB 관리를 Liquibase로 변환하는 중입니다. 이것은 멋지게 달리고 있습니다.Liquibase를 사용하여 Glassfish 인스턴스의 데이터베이스를 업데이트하는 방법
이후 단계에서는 일반적인 환경 (지속적인 통합 스타일)에 배포하기 전에 모든 향후 수정 사항을 테스트합니다. 나는 다음과 같은 설정을 사용하여이 작업을 수행하려고 :
- 우리의 귀를 포함하는 EJB의 웹 서비스는 사전 통합 테스트 받는다는 동안 글래스 피시 3에 내장 된 인스턴스를 시작
maven-embedded-glassfish-plugin
를 사용 - 이
- 내 데이터 소스를 작성 ohase 구축 시작 목표의 일환으로 는 사전 통합 테스트에서 여전히
- , 나는 liquibase을 배포 목표 중
- 배포 귀를 실행 : 업데이 트를 같은 databas에 e URL. 이 경우에는 H2 파일 데이터베이스
- 난 후 배포 된 응용 프로그램
우리 SoapUI 테스트를 실행하려면하지만 난 얻을 때까지 응용 프로그램이 데이터베이스의 모든 데이터를 찾을 수 없습니다. 그래서 질문은 제가 설치 프로그램에서 뭔가를 놓친 경우 또는 내 의도 된 목표를 구성하는 더 좋은 방법이 있다면 무엇입니까?
의 pom.xml 임베디드 글래스 피시
<plugin>
<groupId>org.glassfish.embedded</groupId>
<artifactId>maven-embedded-glassfish-plugin</artifactId>
<version>4.0</version>
<configuration>
<ports>
<http-listener>9090</http-listener>
<https-listener>9191</https-listener>
</ports>
<goalPrefix>embedded-glassfish</goalPrefix>
<app>${project.build.directory}/school-application-${project.version}.ear</app>
<name>school-application</name>
<commands>
<command>create-jdbc-connection-pool --datasourceclassname=org.h2.jdbcx.JdbcDataSource --restype=javax.sql.DataSource --property URL=jdbc\:h2\:~/tmpLB\;AUTO_SERVER\=TRUE schoolDSPool</command>
<command>create-jdbc-resource --connectionpoolid schoolDSPool jdbc/schoolDS</command>
</commands>
</configuration>
<dependencies>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.3.176</version>
</dependency>
</dependencies>
<executions>
<execution>
<goals>
<goal>start</goal>
<goal>admin</goal>
<goal>deploy</goal>
<goal>undeploy</goal>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
의 pom.xml, Liquibase
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>3.1.1</version>
<dependencies>
<dependency>
<groupId>company.school</groupId>
<artifactId>school-db</artifactId>
<version>${project.version}</version>
<systemPath>../school-db/target</systemPath>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.3.176</version>
</dependency>
</dependencies>
<executions>
<execution>
<phase>integration-test</phase>
<configuration>
<promptOnNonLocalDatabase>false</promptOnNonLocalDatabase>
<changeLogFile>db.changelog-master.xml</changeLogFile>
<driver>org.h2.Driver</driver>
<url>jdbc:h2:~/tmpLB;AUTO_SERVER=TRUE</url>
<logging>info</logging>
</configuration>
<goals>
<goal>update</goal>
</goals>
</execution>
</executions>
</plugin>
난 대상 테이블의 데이터를 삽입 한 변경점 변경 집합을 갖는다.
- 올바른 사용자를 설정 했습니까?
- Glassfish와 동일한 프로세스에서 Liquibase를 실행하고 대신
mem:
데이터베이스를 사용하는 방법이 있습니까?
들으와 관련, 기독교