База данных "Миграция" с NHibernate - PullRequest
1 голос
/ 16 мая 2019

У меня есть программа, использующая NHibernate, недавно мы произвели обновление модели базы данных, добавили таблицу.Теперь мы используем SQLite для синхронизации частей «центральной» базы данных, чтобы включить автономную поддержку в программе.Теперь начинаются проблемы ... Когда у пользователя есть обновленная версия программы, но старая версия базы данных NHibernate не будет работать правильно.

Так что я бы хотел "перенести" базу данных вновая схема.У меня есть testet с SchemaExport, но он очищает базу данных от всех его данных.Нужно ли вручную создавать таблицу?

Кроме того, я замечаю это только при попытке получить доступ к кружевному загруженному свойству в моей базе данных. В любом случае, можно ли проверить, соответствует ли модель схеме базы данных?

1 Ответ

1 голос
/ 16 мая 2019

Вместо этого используйте SchemaUpdate.

Он проверит вашу текущую схему с файлами сопоставления. Если какие-либо изменения в файлах сопоставления (таблица добавлена, как вы сказали) будут отражены в основной СУБД. DDL будет автоматически сгенерирован NHibernate и будет выполнен, чтобы соответствовать изменениям.

Пример кода выглядит примерно так:

SchemaUpdate schemaUpdate = new SchemaUpdate(configuration);
schemaUpdate.Execute(false, true);

В зависимости от ваших потребностей, вы можете играть с двумя параметрами: Execute - не требует пояснений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...