Skip to content

Latest commit

 

History

History
38 lines (36 loc) · 1.63 KB

README.md

File metadata and controls

38 lines (36 loc) · 1.63 KB

migrator Build Status

Migração de dados e população de dados iniciais, usando respectivamente liquibase e dbunit. O processo é executado através de uma extensão do CDI. É necessário fornecer uma instancia @Defaul de br.eti.clairton.migrator.Config, como por exemplo:

@Produces
public Config getConfig(){
  System.setProperty("br.eti.clairton.migrator.migrate", "true");
  System.setProperty("br.eti.clairton.migrator.populate", "true");
  System.setProperty("br.eti.clairton.migrator.drop", "true");
  final String diretorioDataSets = "resources/datasets";
  return new Config(diretorioDataSets);
}	

Os dados podem ser inseridos dinamicamente no CSV usado pelo DBUnit, utilizando a marcação ${sql(string sql)} exemplo:

id,nome
1001,Corretora
1002,Controladoria
1003,Financeiro
1004,${sql(select 'Valor por Sql' from aplicacoes)}

Na intancia de config pode-se configurar se o liquibase ira deletar o banco antes de aplicar as alterações, e se será populado o banco com os changesets. O comportamente pode ser alterado setando as propriedades "br.eti.clairton.migrator.populate", "br.eti.clairton.migrator.drop" e "br.eti.clairton.migrator.migrate" ou especializando o Config e personalizando os métodos "isDrop", "isPopulate" e "isMigrate".

Necessitará fornecer uma instancia de Connection com qualifier @Default.

Download através do maven, dependência:

<dependency>
	<groupId>br.eti.clairton</groupId>
    <artifactId>migrator</artifactId>
	<version>X.X.X</version>
	<scope>compile</scope>
</dependency>