2010-10-21 5 views
1

J'apprenais une certaine JPA pour enseigner à quelques amis java et je me demandais, comment gérez-vous les mises à jour qui viennent après la création de la base de données dans JPA? Disons que j'ai un environnement de production où il y a des données que je ne peux pas perdre.Java JPA, Comment faire pour mettre à jour une table sans détruire-créer?

Certains changements interviennent et comment l'appliquer sur mon environnement de production? Y at-il une manière que JPA mettrait seulement à jour les changements sur la base de données? Ou ai-je besoin de créer manuellement un script SQL pour mettre à jour ma base de données?

Existe-t-il d'autres options?

[] 's Rodrigo dellacqua

Répondre

0

Certains changements vient et comment puis-je appliquer que sur mon environnement de production? Y at-il une manière que JPA mettrait seulement à jour les changements sur la base de données?

Rien de normalisé. En d'autres termes, ce serait une caractéristique spécifique du fournisseur. Par exemple, Hibernate possède un outil SchemaUpdate qui peut (en théorie) mettre à jour en toute sécurité un schéma de base de données. En pratique, many don't use that on a production database (y compris moi). Ou dois-je créer manuellement un script SQL pour mettre à jour ma base de données? L'utilisation de scripts de migration (et peut-être un database migration tool) est un moyen sûr pour gérer ce problème et c'est la façon d'aller sur des projets réels.

Et encore, certains outils de migration peuvent fournir un support pour un fournisseur JPA donné. Par exemple, liquibase offre Hibernate support et can diff your Entities against a database to generate a change script.

Questions connexes