2013-05-27 4 views
0

Я реализовал миграцию БД и застрял. Я использую этот код для проверки сценария SchemaUpdate:NHibernate SchemaUpdate воссоздает БД, но не обновляет

List<string> scripts = new List<string>(1000); 
_cfg.BuildMappings(); 

SchemaUpdate schemaUpdate = new SchemaUpdate(_cfg); 
schemaUpdate.Execute(str => 
{ 
    scripts.Add(str); 
}, true); 

Моя БД содержит несколько таблиц. Я добавил новую таблицу тестов. Я ожидал, что скрипт будет содержать только один элемент для создания таблицы. Но я был удивлен, что он создал все столы.

Как исправить эту проблему?

Update

SchemaUpdate бросает исключения для всех элементов, кроме тестовой таблицы.

There is already an object named XXX 
+0

какой драйвер базы данных вы используете? Правильно ли строка подключения? – Firo

+0

@Firo driver = NHibernate.Driver.SqlClientDriver и строка подключения в порядке. connection string = Server = (local); Database = MyDataBase; user = admin; password = pass; – Max

+0

Возможно, DUP http://stackoverflow.com/a/6799401/1036187 – rivarolle

ответ

0

Найдено решение. Это моя ошибка. Я назвал все таблицы, как [Таблица]. NHibernate сравнивает [Таблица] и таблицу. Вот почему он пытается их создать. Спасибо Firo за советы)

 Смежные вопросы

  • Нет связанных вопросов^_^