Насколько хорошо BuildSchema NHibernate в?

голоса
2

Я смотрел на NHibernate недавно и пытаюсь узнать все входы и выходы. Одна вещь, которую я заметил в нескольких статьях было использование BuildSchema создать проверяемую базу данных.

Конкретный пример, используемый SqlLite в качестве базы данных. Может BuildSchema можно доверять, чтобы создать свою базу данных, или это все-таки лучше, чтобы создать свой собственный схемы базы данных стандартным образом? В моем случае с помощью SQL Server Management Studio.

Обновление: Оба ответа , кажется, дает правильный совет, я бы не сказал , этот вопрос имеет «ответ» , так что я не буду отмечать один в частности , ответ как окончательные. Тем не менее я проголосовал вы оба за ваши советы.

Общая идея, как представляется, использовать BuildSchema на ранней стадии разработки до проектирования баз данных оседает затем перейти на создание / изменять сценарии SQL, используя систему управления версиями.

Задан 09/12/2008 в 23:24
источник пользователем
На других языках...                            


2 ответов

голоса
2

Пытаясь сохранить как можно ближе к доменной инициативе методологии проектирования, как это возможно, я использую NHibernate для создания моей схемы в процессе разработки. После того, как приложение достигло определенного уровня стабильности (модель предметной области маслобойки значительно замедлилась) или выпуск вехи был достигнут, я переключаю к методу К. Скотт Аллен обсуждает в своем блоге.

Статьи блога К. Скотт Аллен на схемы базы данных управления версиями

Ash Тевари внедрила систему Упр изменения сценария, который использует NHibernate, который основан на статьи блога Аллена об этом.

Ash Тевари в DbUpdater

Ответил 10/12/2008 в 04:07
источник пользователем

голоса
2

К началу проекта является может быть практичным, чтобы иметь схему, порожденную BuildSchema, но как только вы и работает с некоторой критической массы (или, если вы выпустили что-нибудь другим), необходимо координировать изменения в коде с изменениями в схемы. Это не работает с методом buildschema.

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

Каждый сценарий является его собственным файлом и может содержать более одного изменения DDL и DML или для переноса данных и т.д.

Мы только реально использовать понижены, когда есть изменения, которые были бы несовместимы с предыдущими версиями (они редки на наших проектах).

Ответил 09/12/2008 в 23:59
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more