Tengo una aplicación donde uso Fluent Nhibernate para crear mi base de datos. Hasta aquí he estado recreando el esquema de la base de datos cada vez. El código que hace esto es la siguiente:Fluido NHibernate - Crear esquema de base de datos solo si no existe
public NhibernateSessionFactory(IPersistenceConfigurer config)
{
_sessionFactory = Fluently.Configure().
Database(config).
Mappings(m => m.FluentMappings.AddFromAssemblyOf<MappingsPersistenceModel>()).
ExposeConfiguration(BuildSchema).
BuildSessionFactory();
}
private static void BuildSchema(Configuration config)
{
// if (DbExists(config))
// return;
new SchemaExport(config).Create(false, true);
}
Nota del "if (DbExists(config))
". Esto es lo que me gustaría hacer. Me gustaría crear el esquema solo si realmente no existe. Y en el siguiente paso, me gustaría actualizar para que se cree si no está actualizado.
¿Cómo logro esto? Estoy esperando un config.DatabaseExists()
, pero no puedo ver nada como esto. Veo algunas posibilidades de una solución hacky, pero ¿cuál es la forma típica recomendada de manejar esto?
¡Fantástico! Esto es exactamente lo que estaba buscando. ¡Gracias! – stiank81
¡Perfecto! Gracias – Bronek