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.