Mettre à jour le schéma de base de données avec Hibernate
<property name="hibernate.hbm2ddl.auto">update</property>
je peux créer mon schéma de base de données, il est automatiquement ajouter des propriétés, la contrainte, à la clé, etc...
Mais que penser de mettre à JOUR le schéma de base de données?
Si je supprime certains biens de mes entités, hibernate ne pas le supprimer, ou si je change de certaines contraintes, hibernate ne touche pas à la contrainte déjà créé...
Donc, il y a un moyen de faire hibernate vraiment mettre à jour le schéma de base de données?
Grâce.
source d'informationauteur blow
Vous devez vous connecter pour publier un commentaire.
Nous avons créé un outil pour notre propre qui crée les gouttes de colonnes de base de données et des tables et ajouter ces gouttes pour le SQL généré pour les mises à jour de la base de données. Mais nous avons dû ajouter des options à la SchemaUpdate génération pour le faire fonctionner:
@Column(length)
différaient.Mais de mettre tout cela ensemble, un outil complet ne peut pas être créé de cette façon, parce que si une colonne est renommé dans le code? Que faire si le type de changements qui n'est pas automatiquement convertibles (bool à jour?). Si vous n'avez pas accès à un refactoring de l'histoire, vous ne pouvez pas toujours propager les modifications.
Nous utilisons actuellement liquibase à automatique des modifications de base de données dans une base de données de façon agnostique. Il peut être possible d'extraire liquibase commandes directement à partir de votre hibernate annotations, mais je ne pense pas qu'un tel outil existe de sorte que vous aurez probablement à faire vous-même.
Non, il n'est pas. hbm2ddl n'est pas là pour faire une gestion complète de votre schéma des migrations. Il est préférable si vous l'utilisez uniquement pour les additifs des modifications à votre schéma et de l'éditer (les scripts générés) pour autre chose.
Certains projets qui pourraient être utiles pour gérer les modifications de schéma:
Autre ressource que vous pouvez trouver utile, c'est la comparaison des fonctionnalités dans la voie de migration de site web (Il y en a d'autres projets liés à l'parlé il y a).
Hibernate fournit une classe appelée SchemaUpdate qui est capable de synchroniser un ensemble de hibernate correspondances avec un schéma de base de données
Vieux postmais laissez-la communauté de savoir si c'est bon 🙂