Comment créer un schéma de base de données en mode veille prolongée et le mettre à jour en cas de modification du schéma?
Je veux créer schéma de base de données en mode veille prolongée première fois. Et en outre, s'il y a une modification dans le schéma, comme l'ajout d'une nouvelle table ou de la suppression de la colonne, je veux mettre à jour le schéma existant en gardant les données précédentes intacte.
Que par les options à cette questionil ressemble, je peux créer le schéma de détruire les données précédentes, ou je peux mettre à jour le schéma.
Est-il une valeur qui peut faire les deux?
source d'informationauteur M Sach
Vous devez vous connecter pour publier un commentaire.
En fait je viens de vérifier
<property name="hibernate.hbm2ddl.auto" value="update" />
est même la création de tables pour la première fois et puis plus tard, si le tableau et le schéma existe pas, il n'mise à jour.Update
propriété est applicable lors du démarrage ou l'ajout d'un nouveau modèle. Vous souhaitez conserver la précédente instances d'entité. C'est le schéma par défaut de création de style.Il tente de mettre à jour le schéma, si nécessaire. Les mises à jour suivantes sont prises en charge:
Voir certains de mes observations
Vous pouvez utiliser 'importation.sql' .
Ajouter une importation.fichier sql de ressources comme suit:
et ajouter une ligne dans "hibernate.cfg.xml' comme suit:
Donc, si n'existe pas de base de données, hibernate crée de nouveaux db.
Je ne recommande pas la mise à jour de la db schéma basé sur la modification de l'entité. Essayez d'aller avec La voie de migration ou Liquibase.
Vous pouvez trouver des questions similaires sur stackoverflow, par exemple. Hibernate/JPA, DB Génération de Schéma de Meilleures Pratiques