Ferramenta para exportar dados com todos os dados relacionais? [fechadas]


12

Existe uma ferramenta para exportar dados de linhas selecionadas em uma tabela com todos os dados armazenados em outras tabelas em outras tabelas vinculadas pelo design relacional?

O objetivo é facilitar a migração de bits de dados entre servidores para migrações ad-hoc. Estou procurando especificamente por uma ferramenta para MySQL InnoDB com chaves estrangeiras definidas.


1
você está pedindo para exportar os próprios relacionamentos ou os dados relacionados? além disso, qual rdbms?
— swasheck

@swasheck, sinto muito por isso, atualizei a questão para maior clareza
— James McMahon

2
Depois de escrever um programa que faz isso (para o SQL Server), posso dizer que não é para os fracos de coração - recomendo fortemente o uso de software de terceiros para fazer isso, se disponível.
— 21813 Jon Seigel

... Verifique também se há uma maneira de reconciliar os dados migrados para garantir que tudo seja migrado corretamente .
— FrustratedWithFormsDesigner

2
Reivindicações carcereiro para ser capaz de fazer isso: sourceforge.net/projects/jailer (Eu não usei embora)
— a_horse_with_no_name

Respostas:


9

Na realidade, você pode criar um script usando o mysqldump .

Aqui minhas postagens usando a opção --where para mysqldump:

Com uma boa revisão de suas tabelas e alguma graxa de cotovelo SQL, você pode criar um script do dump para qualquer tabela e seus registros filhos com as referências de chave estrangeira correspondentes.

De uma chance !!!


Por fim, acabei escrevendo uma lógica personalizada para fazer a serialização e desserialização dos objetos. Acho que o script personalizado é provavelmente o caminho a percorrer.
— James McMahon

0

Isso seria quase impossível de se realizar no MySQL, a menos que todas as tabelas tivessem as restrições FOREIGN KEY definidas (não garantidas, considerando que o MyISAM não as suporta).

Se todas as tabelas tivessem os FKs, ainda seria uma tarefa e não conheço uma ferramenta que exporte um subconjunto.

Sei que a Navicat tentará fazer engenharia reversa das relações, mas não acho que despejará um subconjunto dos dados.


Para o seu primeiro ponto, estou usando InnoDB com restrições relacionais definidos
— James McMahon
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.