Como é bom BuildSchema do NHibernate?

votos
2

Eu estive olhando NHibernate recentemente e tentando aprender os meandros. Uma coisa que eu notei em alguns artigos foi o uso de BuildSchema para criar um banco de dados testáveis.

O exemplo particular utilizado SqlLite como a base de dados. BuildSchema pode ser confiável para criar seu banco de dados ou é ainda melhor para criar o seu próprio esquema de banco de dados na forma padrão? No meu caso usando SQL Server Management Studio.

Update: Ambas as respostas parecem dar conselhos válido, eu não diria que esta questão tem uma resposta por isso não vou marcar um em resposta particular como definitiva. No entanto votei você quer para o seu conselho.

A ideia geral parece ser a de usar BuildSchema no início do desenvolvimento antes que o projeto de banco de dados Instala-se então avançar para criar / alterar scripts SQL ao usar o controle de versão.

Publicado 09/12/2008 em 23:24
fonte usuário
Em outras línguas...                            


2 respostas

votos
2

Na tentativa de manter o mais próximo a uma metodologia de projeto impulsionado domínio possível, eu uso o NHibernate para construir meu esquema durante o desenvolvimento. Uma vez que o aplicativo atingiu um certo nível de estabilidade (o modelo de domínio churn diminuiu consideravelmente) ou um lançamento marco foi atingido, eu mudar para o método de K. Scott Allen discute em seu blog.

Artigos de blogue K. Scott Allen sobre o controle de versão do esquema de banco de dados

Ash Tewari implementou um sistema de MGMT script de alteração que usa NHibernate que é baseado em artigos do blog de Allen sobre isso.

De Ash Tewari DbUpdater

Respondeu 10/12/2008 em 04:07
fonte usuário

votos
2

Para o início de um projeto é pode ser prático para ter o esquema gerado por BuildSchema mas quando você está instalado e funcionando com alguma massa crítica (ou se tiver lançado nada para os outros) que você precisa para coordenar as alterações no código com as mudanças no esquema. Isso não funciona com o método buildschema.

Em nossos projetos criamos atualização e de downgrade scripts para cada changeset que requer uma mudança de banco de dados. Nós não automatizado que processo, mas a prática permite que os desenvolvedores para chegar a uma versão atual, executando os scripts de alteração incremental e voltar para uma versão anterior executando o script de rebaixamento.

Cada script é seu próprio arquivo e pode conter mais do que uma mudança para DDL e DML ou para migrar dados etc.

Nós só realmente usar downgrades quando há uma mudança que seria incompatível com versões anteriores (estes são raros em nossos projetos).

Respondeu 09/12/2008 em 23:59
fonte usuário

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