Fluent NHibernate - Erstellen Sie nur ein Datenbankschema, wenn es nicht existiert

Ich habe eine Anwendung, wo ich Fluent Nhibernate zum erstellen meiner Datenbank. So weit ich habe die Neuerstellung der Datenbank-schema-jedes mal. Der code, der dies tut, ist dies:

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);
}

Beachten Sie die "if (DbExists(config))". Dies ist, was ich gerne tun würde. Ich möchte das schema nur dann, wenn es eigentlich nicht bereits vorhanden ist. Und im nächsten Schritt - ich möchte zu aktualisieren
es erstellt werden, wenn es nicht auf dem neuesten Stand.

Wie kann ich das erreichen? Ich erwarte eine config.DatabaseExists()aber ich kann nicht so etwas sehen. Ich sehe einige Möglichkeiten für einen hacky Lösung, aber was ist die typische empfohlene Art der Behandlung?

InformationsquelleAutor der Frage stiank81 | 2011-05-04

Schreibe einen Kommentar