Strumento per esportare i dati con tutti i dati relazionali? [chiuso]


12

Esiste uno strumento per esportare i dati dalle righe selezionate in una tabella con tutti i dati memorizzati in altre tabelle in altre tabelle collegate in base alla progettazione relazionale?

Lo scopo è facilitare le migrazioni di bit di dati tra server per migrazioni ad hoc. Sto cercando specificamente uno strumento per MySQL InnoDB con chiavi esterne definite.


1
stai chiedendo di esportare le relazioni stesse o i dati relativi? inoltre, quale rdbms?
swasheck,

@swasheck, mi dispiace, ho aggiornato la domanda per chiarezza
James McMahon,

2
Dopo aver scritto un programma che esegue questa operazione (per SQL Server), posso dirti che non è per i deboli di cuore - consiglio vivamente di utilizzare software di terze parti per farlo se disponibile.
Jon Seigel,

... Assicurati anche di avere un modo per riconciliare i dati migrati per assicurarti che tutto sia migrato correttamente .
FrustratedWithFormsDesigner,

2
Jailer afferma di essere in grado di farlo: sourceforge.net/projects/jailer (non l'ho usato però)
a_horse_with_no_name

Risposte:


9

In realtà, potresti semplicemente copiarlo da solo usando mysqldump .

Ecco i miei post che usano l' opzione --where per mysqldump:

Con una buona revisione delle tabelle e un po 'di grasso per gomiti SQL, è possibile eseguire lo script del dump per qualsiasi tabella e i relativi record figlio con i corrispondenti riferimenti di chiave esterna.

Provaci !!!


Alla fine ho finito di scrivere alcune logiche personalizzate per eseguire la serializzazione e la deserializzazione degli oggetti. Penso che lo scripting personalizzato sia probabilmente la strada da percorrere.
James McMahon,

0

Questo sarebbe quasi impossibile da realizzare in MySQL a meno che tutte le tabelle non avessero definito i vincoli ESTERI CHIAVE necessari (non garantiti affatto, considerando che MyISAM non li supporta).

Se tutte le tabelle DID hanno gli FK, sarebbe comunque piuttosto un compito e non conosco uno strumento che esporterebbe un sottoinsieme.

So che Navicat tenterà di decodificare le relazioni, ma non credo che scaricherà un sottoinsieme dei dati.


Per il tuo primo punto, sto usando InnoDB con vincoli relazionali definiti
James McMahon,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.