Introdução
Nesse post veremos como migrar dados de um banco de dados para outro via aplicação.
Migração
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | @JArchViewScoped public class MenuAction extends BaseMenuAction { @Override public List<IMenu> createMenu() { List<IMenu> menu = new ArrayList<>(); menu.add(MenuBuilder .newInstance() .name("Migração") .action("../migration/migration.jsf") .build()); return menu; } } |
Irá aparece a tela abaixo:
Todas as entidades que implementarem a interface ICrudEntity serão filtradas para mostrar na caixa de seleção, e estarão disponíveis para a migração, com exceção das classes que estiverem com a anotação @ArchIgnoreMigrate.
Conforme um item é selecionado, é feito uma busca no banco de dados para possível filtro, caso nenhum registro seja selecionado todos os dados da tabela serão migrados:
Para uma melhor visualização dos dados será necessário sobre escrever o método toString() conforme abaixo:
1 2 3 4 5 | @Override public String toString() { return BundleUtils.messageBundle("label.codigo") + ": " + codigo + BundleUtils.messageBundle("label.descricao") + ": " + descricao; } |
Conforme é escolhido a(s) entidade(s) a ser migrada é gerado um arquivo "migracao.zip" contendo os objetos serializados separados por pastas:
Restauração
Na mesma página existe outra aba logo acima para fazer a restauração dos dados que anteriormente foram filtrados, conforme os passos acima.
Na aba de restauração é semelhante a aba de migração onde as entidades disponíveis serão filtradas e estarão disponíveis para a restauração, e o arquivo para fazer o upload.
Conclusão
Nesse post vimos como deixar disponível a página de migração no menu, como configurar as entidades para filtro e as que não devem estar disponíveis, como deixar os dados mais apresentáveis e como restaurar os dados.
Até mais,
Nenhum comentário:
Postar um comentário