Boa tarde pessoal,
eu estou criando um método no qual eu possa gerar um dump de um determinado banco para posteriormente eu possa carregar esse dump.
Isso tudo é via aplicação, ou seja, não se utiliza nenhuma ide de banco de dados, nem o command do windows.
então eu fiz o seguinte método:
public void gerarBackup(Obra obra) {
SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy");
String data = formatador.format(new Date());
data = data.replace("/", "");
String comando = "cmd.exe /c mysqldump -u root --password=root --quick -c -t -e db_teste usuario "
+ "tipo_veiculo tipo_material combustivel cidade bairro estado cliente proprietario "
+ "fornecedor contratado motorista obra jazida modelo marca veiculos ficha abastecimento horimetro "
+ "> c:\\backup_"+obra.getLocal()+"_"+ data + ".sql";
try {
Runtime.getRuntime().exec(comando);
} catch (IOException e) {
e.printStackTrace();
}
}
Bom, então onde está a minha dúvida.
A minha dúvida é saber se existe dentro do comando mysqldump uma forma da qual eu possa setar no arquivo a ser gerado o "USE DB" para
ele já executar o banco ao qual ele vai jogar os INSERTS.
E um outra coisa, como eu faço para que, se um dos dados forem repetidos,
ele continuar lendo a linha de comando. e pulando apenas o insert que se repetiu.
Ou seja, vai ter lá um insert qualquer, e pode ocorrer de duplicar o ID, então eu gostaria que ele ao invés de parar o comando, ele pulasse
o insert que ele verificou que estava dando conflito e continuasse o comando até o fim.
Alguém saberia me ajudar ???