Me estoy haciendo con éxito Fluido NHibernate para actualizar mi base de datos por UpdateBaseFiles Calling:Hacer Fluido NHibernate actualización del esquema de salida para presentar
Public Sub UpdateBaseFiles()
Dim db As SQLiteConfiguration
db = SQLiteConfiguration.Standard.UsingFile(BASE_DBNAME)
Fluently.Configure() _
.Database(db) _
.Mappings(Function(m) m.FluentMappings.AddFromAssemblyOf(Of FluentMap)()) _
.ExposeConfiguration(AddressOf UpdateSchema) _
.BuildConfiguration()
End Sub
Private Sub UpdateSchema(ByVal Config As Configuration)
Dim SchemaUpdater As New SchemaUpdate(Config)
SchemaUpdater.Execute(True, True)
End Sub
¿Cómo saco el DDL en un archivo, hago esto al crear inicialmente el esquema utilizando:
Private Sub BuildSchema(ByVal Config As Configuration)
Dim SchemaExporter As New SchemaExport(Config)
SchemaExporter.SetOutputFile("schema.sql")
SchemaExporter.Create(False, True)
End Sub
pero SchemaUpdate no tiene un método SetOutputFile.
soy Seguro que esto funcionaría en C#, pero estoy teniendo problemas para traducir la plantilla del delegado en VB, ¿alguna idea? – Bender
No estoy seguro de que pueda, consulte http://stackoverflow.com/questions/892021/actionof-t-in-visual-basic-in-listof-t-foreach. –
Esto no funcionará bien porque se llama al delegado de acción en cada instrucción ddl, por lo que solo la última se escribirá en el archivo. Puede usar filemode.append o mover la creación de filestream fuera del delegado de acción. – Jokin