25.1. Schema management

<div class="paragraph">

Although Hibernate provides the `update` option for the `hibernate.hbm2ddl.auto` configuration property,
this feature is not suitable for a production environment.

</div>
<div class="paragraph">

An automated schema migration tool (e.g. [Flyway](https://flywaydb.org/), [Liquibase](http://www.liquibase.org/)) allows you to use any database-specific DDL feature (e.g. Rules, Triggers, Partitioned Tables).
Every migration should have an associated script, which is stored on the Version Control System, along with the application source code.

</div>
<div class="paragraph">

When the application is deployed on a production-like QA environment, and the deploy worked as expected, then pushing the deploy to a production environment should be straightforward since the latest schema migration was already tested.

</div>
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">

</td>
<td class="content">
<div class="paragraph">

You should always use an automatic schema migration tool and have all the migration scripts stored in the Version Control System.

</div>
</td>
</tr>
</table>
</div>
</div>
<div class="sect2">

results matching ""

    No results matching ""