Gerar arquivo SQL do mapeamento com Fluent NHibernate

Vamos dar sequência em nossa série sobre Fluent NHibernate

  1. Começando com Fluent NHibernate
  2. Mapeamentos com Fluent NHibernate
  3. Usando o Fluent NHibernate
  4. Gerando arquivos HBM
  5. Gerar arquivo SQL do mapeamento
  6. Como funciona o Lazy Load
  7. Configurando Log4NET

Uma das opções que o Fluent NHibernate possui, é gerar um arquivo SQL para executar direto no banco, essa opção é muito útil quando vamos colocar o sistema em produção, apenas executamos esse script e todo banco ja está criado.

Para gerar esse arquivo é bastante simples, veja abaixo:

public static void CriarScriptsBanco()
{
    FluentConfiguration configuration = Fluently.Configure()
        .Database(MsSqlConfiguration.MsSql2008.ConnectionString(
                    x => x.FromConnectionStringWithKey("ConexaoBanco")).ShowSql())
        .ExposeConfiguration(cfg => new SchemaExport(cfg).SetOutputFile("C:\\Temp\\scripts.sql").Create(true, false))
        .Mappings(x => x.FluentMappings.AddFromAssemblyOf<Pessoa>());

    configuration.BuildSessionFactory();
}

Tudo acontece na no método SetOutputFile onde colocamos o diretório onde será salvo nosso script

Depois é só chamar esse método em nosso teste

[TestMethod]
public void Criar_Arquivos_SQL()
{
    Conexao.CriarScriptsBanco();
}

Depois de executado, basta entrar na pasta que configuramos, nesse caso C:\Temp e abrir o arquivo

Deixe seu comentário, opinião, critica

Aquele abraço!

Leia mais

Sobre Leandro Prado

Leandro Silveira Prado é graduado em Sistemas de Informação pela PUC-PR, trabalho com desenvolvimento WEB desde 2003. Possui uma vasta experiência em integração de sistemas ja prestou serviços a grandes empresas como FBits Fábrica de Software, Instituto Curitiba de Informática, América Latina Logística e atualmente trabalha como arquiteto de software na TechResult. Fanático por futebol e torcedor do melhor time do paraná - COXA