Я использую сопоставления NHibernate в качестве определяющей схемы для моего приложения на этапе разработки, а для определения схемы я использую метод NHibernate.Tool.hbm2ddl.SchemaExport()
для создания createScript.
Теперь я рассмотрел использование метода Configuration.GenerateSchemaUpdateScript()
для генерации сценариев изменений базы данных, таких как:
var dialect = Dialect.GetDialect(configuration.Properties);
string[] schemaUpdateScript;
using (var conn = new SqlConnection(
configuration.GetProperty("connection.connection_string")))
{
conn.Open();
schemaUpdateScript = configuration.GenerateSchemaUpdateScript(dialect,
new DatabaseMetadata(conn, dialect));
}
После этого я сохраню скрипт обновления схемы в файлах скриптов с именами временных меток.
Это хороший способ управлять изменениями схемы в NHibernate?
Есть ли серьезные недостатки?