-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 posts ] 
Author Message
 Post subject: Schemaänderung in produktiver Datenbank
PostPosted: Wed Nov 09, 2005 10:57 am 
Newbie

Joined: Wed Sep 08, 2004 6:23 am
Posts: 4
Hibernate version:
2.1.7

Name and version of the database you are using:
Oracle9

vielleicht wurde ein derartiges Thema schon an anderer Stelle diskutiert, ich habe jedenfalls
nichts vergleichbares gefunden bzw. fehlt mir der richtige Suchbegriff.

Ich habe folgenden UseCase welcher auf mich in den nächsten Monaten zu kommen wird.
Wie in vielen Applikationen welche sich im Betrieb befinden, muß gewährleistet sein, das Schemaerweiterungen/Änderungen
sich nicht auf die Produktion auswirken. Es muß also gewährleistet werden das das Hinzufügen eines Attributes an einem
BusinessObjekt nicht einen kompletten DROP-Table, CREATE-Table Zyklus nach sich zieht.
Z.Zt. bzw. in der Entwicklung gehe ich den Weg, jedesmal bei Änderung die Mappings mit ant neu zu erzeugen (hibernatedoclet),
die Tabellen zu droppen und neu anzulegen (schemaexport).
Das hätte in einer produktiven DB offensichtlich fatale Folgen :-(

Auf Anhieb fällt mir dabei eine unschöne Lösung ein. Ich schreibe SQL(DML) Skripte, welche die Tabellen mittels ALTER TABLE verändern.
Damit hätte ich mich aber ein für alle mal von einem durchgängigen, nachvollziehbaren Entwicklungsweg verabschiedet.

Wonach ich suche ist eine Möglichkeit mit Hibernate-Mitteln ein produktives Datenbankschema zu aktualisieren
ohne destruktiv auf den Daten zu arbeiten und gleichzeitig den Entwicklungsprozess nicht aufzubrechen.
Oder gibt es sonst irgendwelche Werkzeuge, die mich dabei unterstützen?

Danke und Gruß
Gunnar


Top
 Profile  
 
 Post subject:
PostPosted: Thu Nov 10, 2005 10:45 am 
Beginner
Beginner

Joined: Mon Jan 24, 2005 11:33 am
Posts: 24
Location: Stuttgart, Germany
Ich arbeite mit Hibernate 3 und Derby und habe schon erfolgreich org.hibernate.tool.hbm2ddl.SchemaUpdate verwendet. Dabei muss man allerdings beachten, dass neue Felder im hbm.xml mapping Dokument am Ende (und nicht mittendrin) erscheinen.
Ob es diese Klasse auch für Hibernate 2 gibt, weiss ich nicht.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Nov 10, 2005 12:12 pm 
Regular
Regular

Joined: Mon Oct 06, 2003 7:17 am
Posts: 58
Location: Switzerland
Habe ich mit Hibernate 2.x auch schon gemacht.

Reto


Top
 Profile  
 
 Post subject:
PostPosted: Thu Nov 10, 2005 12:38 pm 
Newbie

Joined: Wed Sep 08, 2004 6:23 am
Posts: 4
Danke für die Hinweise!
SchemaUpdate war das Stichwort.
Für einfache Updates wird das wahrscheinlich funktionieren, für komplexere Änderungen (Relationen) wahrscheinlich nicht.
Im Prinzip muß man die Daten zwischen zwei Objektmodellen kopieren(migrieren), da sich die Semantik des Modells ggf. geändert hat.

Eine ähnliche Diskussion gabe es bereits :
http://forum.hibernate.org/viewtopic.php?t=931183&highlight=schemaupdate

Hat jemand mit dem dort diskutierten Tool
http://octopus.objectweb.org/index.html
oder einem vergleichbaren Erfahrungen gesammelt?


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.