J'ai une application dans laquelle j'utilise Couramment Nhibernate pour créer ma base de données. Ce jour, j'ai été de recréer le schéma de base de données à chaque fois. Le code qui fait ce est ceci:
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);
}
Notez le "if (DbExists(config))
". C'est ce que j'aimerais faire. J'aimerais créer le schéma que si elle en fait n'existent pas déjà. Et dans la prochaine étape, j'aimerais bien la mise à jour
il sera créé s'il n'est pas à jour.
Comment puis-je y parvenir? Je suis dans l'attente d'un config.DatabaseExists()
, mais je ne peux pas voir quelque chose comme cela. Je vois des possibilités d'un hacky solution, mais ce qui est typique de la façon recommandée de ce traitement?