Как обеспечить синхронизацию отображений и миграций с помощью гибкого NHibernate? - PullRequest
1 голос
/ 08 июля 2011

Я использую Migrator Dot Net для создания версии схемы базы данных и Fluent NHibernate для привязки моделей к схеме.

Существует ли хороший (читай: автоматизированный) способ сравнения схемы, созданной в результате выполнения миграций, со схемой, созданной при экспорте схемы NH, чтобы убедиться, что определения таблиц, ключи, индексы и т. Д. Синхронизированы?

Единственное, о чем я могу подумать, это экспортировать обе схемы, затем использовать неизвестную (ответьте, если вы знаете хорошую!) Библиотеку для их сценария, а затем сравнить строки сценария.

Есть ли лучший способ?

Редактировать : Чтобы уточнить, я хотел бы проверить не только таблицы, столбцы и типы столбцов, но также индексы и внешние ключи.

Ответы [ 2 ]

4 голосов
/ 08 июля 2011

В NHibernate есть валидатор схемы:

SchemaValidator validator = new SchemaValidator(configuration);
validator.Validate();
3 голосов
/ 08 июля 2011

Я думаю, что было бы достаточно проверить, что сопоставления, сгенерированные FNH и вашей схемой БД, синхронизированы.
для этого вы можете использовать этот простой тест

...