Questa sarebbe una bella caratteristica, e forse c'è un mercato per questo se scrivi il tuo.
Tuttavia, è una sfida molto complessa. Ad esempio, se lo schema di destinazione rinominerebbe una tabella o una colonna, lo strumento prenderà il nuovo schema con nuovi elementi, troverà lo schema esistente e li confronterà entrambi. Ma come potrebbe identificare in modo sicuro la ridenominazione e non confonderla con la goccia di una colonna obsoleta e la creazione di una nuova? In alcune circostanze, potrebbe formulare un'ipotesi plausibile (se la colonna viene utilizzata in chiavi o indici esterni).
Detto così brevemente, questa automazione funzionerebbe solo per semplici cambiamenti. Ma per modifiche semplici non hai davvero bisogno di uno strumento automatico. E c'è un alto rischio di database dannosi collegandosi a quello sbagliato.
Tuttavia il mercato è pieno di strumenti di modellazione, che possono reverse engineer ( questo è il termine per goolgle ) un database esistente per costruire un modello logico, ti permettono di aggiornare il modello e quindi generare script di aggiornamento ( oracolo , powerdesigner , ecc. ...). Quindi non l'automazione completa, ma con una certa saggezza umana nel processo.
C'è anche questo dbshema strumento che ha una funzionalità chiamata schema sincronizzazione , che assomiglia a quello che stai cercando, utilizzando lo schema corrente per effettuare la trasformazione. Non l'ho ancora usato, quindi ti permetterò di indagare ulteriormente (e forse condividi le tue conclusioni qui?).