7

Sto usando MySQL Workbench per sviluppare il mio database per la mia applicazione.MySQL Workbench sincronizzare diversi database

Io uso di almeno due banche dati, ad esempio:

  • my_local: mio database di prova locale che è sempre sincronizzato con MySQL Workbench
  • myserver_database: il database finale nel server, tenere a mente che questo database è in produzione e gli utenti potranno aggiornare e non posso perdere le informazioni contenute in esso.

ora posso synchronyze mia base di dati ogni volta che voglio, ma non riesco a trovare un modo per aggiornare il sistema al server finale perché hanno nomi diversi, ottengo qualcosa di simile:

my_local => N/A 
N/A  <= myserver_database 

in passato ho semplicemente ribattezzato il database in mysql workbench ma non sembra funzionare più, probabilmente a causa di un bug.

Desidero essere in grado di sincronizzare lo stesso schema del banco di lavoro con diversi database, indipendentemente dal nome del database, non ho trovato un modo per forzare il nome del database anche modificando il default_scheme.

prega di tenere presente lo farò un sacco di volte quindi è meglio evitare Triky o soluzioni pericolose se possibile.

+0

Non è un Anser sulla tua domanda. Si può cercare di confrontare e sincronizzare i database con l'aiuto di strumenti di schema e il confronto dei dati in dbForge Studio per MySQL - http://www.devart.com/dbforge/mysql/studio/ – Devart

+0

@Devart sono felice con tutte le funzioni in mysql workbench ed è gratuito al 100%; ho solo bisogno di correggere questo bug semplice e stupido, non capisco perché usa sempre nomi espliciti di database invece di usare quello selezionato. – Plokko

risposta

5

So che questa domanda è piuttosto vecchio, ma sono stato in grado di fare questo sul banco di lavoro 5.2.40 e non ci sono molte risorse aggiornati on-line che spiegano come.

In primo luogo ho ottenuto uno script del mio vecchio database:

mysqldump -no-data myolddb > script.sql 

(voglio solo sincronizzare gli schemi, questo può essere fatto sul banco di lavoro troppo)

ora il trucco è quello di modificare il script aggiungendo use mynewdb; come prima riga, in questo modo il workbench non dirà N/A o assurdità dello schema predefinito.

Sul banco di lavoro ho creato un modello EER di mynewdb che si trova sul mio server, quindi "Database-> Sincronizza con qualsiasi sorgente" e selezionare da "modello Schemadata" a "File di script" nella procedura guidata utilizzando lo script I modificato inizialmente. E poi il wizard Synch ha funzionato come dovrebbe.

+0

Grazie! Il trucco è sincronizzare con lo script anziché con un database attivo. – jocull