Full schema dumped with mvn hibernate4:export
and pom.xml
:
<!-- To export full DDL schema as it seeing by Hibernate run: mvn hibernate4:export -->
<plugin>
<!-- http://mydevnotes.nicus.it/2013/03/generate-ddl-with-maven-jpa-hibernate-4.html -->
<groupId>de.juplo</groupId>
<artifactId>hibernate4-maven-plugin</artifactId>
<version>1.1.0</version>
<configuration>
<hibernateDialect>org.hibernate.dialect.MySQLDialect</hibernateDialect>
<delimiter>;</delimiter>
<target>SCRIPT</target>
<outputFile>${project.build.directory}/schema-hibernate4-maven-plugin.sql</outputFile>
</configuration>
</plugin>
You may copy necessary parts.
With LiquiBase you have more options by generating diff between DB and Hibernate mapping file / annotations by mvn liquibase:diff
and corresponding part in pom.xml
:
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>${liquibase.version}</version>
<configuration>
<changeLogFile>${basedir}/src/main/resources/sql/master.xml</changeLogFile>
<propertyFile>${liquibase.profile}</propertyFile>
<promptOnNonLocalDatabase>false</promptOnNonLocalDatabase>
<logging>debug</logging>
<outputFileEncoding>utf-8</outputFileEncoding>
<driver>com.mysql.jdbc.Driver</driver>
<!-- <url>jdbc:mysql://localhost:3306/app?autoReconnect=true&characterEncoding=utf-8</url> -->
<!-- <username>AAAAAA</username> -->
<!-- <password>BBBBBB</password> -->
<defaultSchemaName>testx</defaultSchemaName>
<changelogSchemaName>testx</changelogSchemaName>
<!-- For mvn liquibase:updateSQL -->
<migrationSqlOutputFile>migration.sql</migrationSqlOutputFile>
<referenceUrl>hibernate:spring:com.app.domain?dialect=org.hibernate.dialect.MySQLDialect</referenceUrl>
<diffChangeLogFile>changelogDiff.xml</diffChangeLogFile>
<diffTypes>tables,views,columns,indexes,foreignkeys,primarykeys,uniqueconstraints</diffTypes>
</configuration>
<dependencies>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>${spring-data.version}</version>
</dependency>
<!-- https://github.com/liquibase/liquibase-hibernate/wiki -->
<dependency>
<groupId>org.liquibase.ext</groupId>
<artifactId>liquibase-hibernate4.2</artifactId>
<version>3.5</version>
</dependency>
</dependencies>
</plugin>
You may read my notes about http://tips.defun.work/liquibase.html