¿Qué tan bueno es BuildSchema de NHibernate?

votos
2

He estado viendo NHibernate recientemente y tratando de aprender los pormenores. Una cosa que noté en algunos artículos fue el uso de BuildSchema para crear una base de datos comprobable.

El ejemplo particular usó SqlLite como la base de datos. ¿Se puede confiar en BuildSchema para crear su base de datos o todavía es mejor crear su propio esquema de base de datos de la manera estándar? En mi caso usando SQL Server Management Studio.

Actualización: Ambas respuestas parecen dar un consejo válido, yo no diría que esta pregunta tiene una respuesta, así que no marcaré una respuesta particular como la definitiva. Sin embargo, les he votado a los dos por su consejo.

La idea general parece ser utilizar BuildSchema en el desarrollo inicial antes de que se establezca el diseño de la base de datos y luego pasar a crear / alterar scripts SQL mientras se utiliza el control de versiones.

Publicado el 09/12/2008 a las 23:24
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
2

Al tratar de mantenerme lo más cerca posible de una metodología de diseño basada en dominio, utilizo NHibernate para construir mi esquema durante el desarrollo. Una vez que la aplicación ha alcanzado un cierto nivel de estabilidad (el abandono del modelo de dominio se ha reducido considerablemente) o se ha alcanzado un lanzamiento de un hito, me cambio al método que K. Scott Allen analiza en su blog.

Artículos de blog de K. Scott Allen sobre el control de versiones de esquemas de bases de datos

Ash Tewari ha implementado un sistema mgmt de script de cambio que usa NHibernate basado en los artículos de blog de Allen sobre esto.

DbUpdater de Ash Tewari

Respondida el 10/12/2008 a las 04:07
fuente por usuario

votos
2

Hacia el comienzo de un proyecto puede ser práctico tener el esquema generado por BuildSchema, pero una vez que esté listo y funcionando con cierta masa crítica (o si ha liberado algo a otros), debe coordinar los cambios en el código con cambios en el esquema. Eso no funciona con el método buildschema.

En nuestros proyectos creamos scripts de actualización y degradación para cada conjunto de cambios que requiere un cambio de base de datos. No hemos automatizado ese proceso, pero la práctica permite a los desarrolladores obtener una versión actual al ejecutar los scripts de cambio incremental y volver a una versión anterior ejecutando el script de downgrade.

Cada script es su propio archivo y puede contener más de un cambio a DDL y / o DML para migrar datos, etc.

Solo utilizamos degradaciones cuando hay un cambio que sería incompatible con versiones anteriores (estos son raros en nuestros proyectos).

Respondida el 09/12/2008 a las 23:59
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more