Esportare schema del db da NHibernate – NHibernate SchemaExport

Nota: Articoli etichettati come Snippet non contengono codice completo ma solo parti di esso, recuperate da appunti. Per cui, potrebbe essere necessario modificarne alcuni nomi o indici. Per ogni chiarimento, lasciate un commento all’articolo.

Dopo aver configurato correttamente NHibernate con tutti i file di mapping ed aver definito correttamente i parametri di connessione, è possibile lasciare al framework l’onere di costruire il database.

Un vincolo importante (nel caso decidiate di eseguire l’export) è che il database (vuoto) esista sul DBMS e che l’utente sia autorizzato alla creazione di tabelle e vincoli.

A mio parere questa funzionalità andrebbe utilizzata solo come metodo di verifica della correttezza del mapping (ad esempio facendo creare un db parallelo per i confronti) e non per una generazione da “produzione”, almeno se non seguita da un profondo controllo manuale…

private static string mappingFilePath = “Mapping\\hibernate.cfg.xml”;

NHibernate.Tool.hbm2ddl.SchemaExport se = new NHibernate.Tool.hbm2ddl.SchemaExport(new NHibernate.Cfg.Configuration().Configure(mappingFilePath));

se.Create(true, false);

Ho inserito il percorso completo dei Namespace, ovviamente è possibile utilizzare normalmente la direttiva “using”.
I due parametri del metodo .Create indicano se si desidera generare lo scritpt in console e se si desidera esportare il mapping sul db (creare fisicamente le tabelle & co…)

Per info più approfondite, il link di riferimento (su Hibernate) è:
http://docs.jboss.org/hibernate/orm/3.3/api/org/hibernate/tool/hbm2ddl/SchemaExport.html

, ,

  1. Lascia un commento

Rispondi

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: