generați diferența DDL după compararea a două scheme

Să presupunem că am schema A în baza de date B și Schema C din baza de date D

Utilizatorul aplică anumite modificări în schema A, în timp ce schema C este neschimbată.

În acest moment trebuie să colectez DDL de obiecte schimbate doar în schema A care ar putea fi schimbarea în coloane, adăugarea de tabele, adăugarea de secvențe ... etc Știm că toad și alte utilitare GUI pot face, dar trebuie să o facem din scriptul de linie de comandă

Cum ar trebui să continui cu asta? Ar trebui să încerc să creez un declanșator care înregistrează orice modificare a schemei care se face?

0
Dacă încercați să păstrați două sincronizări de baze de date, atunci trebuie să aflați despre replicarea bazei de date. Cele mai multe baze de date comerciale au această funcționalitate încorporată în produs.
adăugat autor Gordon Linoff, sursa
Există o serie întreagă de factori care trebuie luați în considerare aici. Un exemplu simplu, dar cu o soluție netrivială, este dependența de chestiuni străine; doar identificarea modificărilor nu este suficientă, trebuie să identificați ordinea în care trebuie să fie aplicate toate modificările. Este motivul pentru care nu se utilizează utilitare preexistente una care este insurmontabilă? Din motive de încredere, aș recomanda cu insistență utilizarea acestora dacă este posibil. În caz contrar, intrați cu adevărat într-un câmp de mine, mai ales dacă acest lucru este de a actualiza instanțele l
adăugat autor MatBailie, sursa
Sunt de acord cu @Dems, că re-inventarea roții va genera, în general, mai multe probleme decât rezolvă. De ce aveți pentru a lucra din linia de comandă? Instrumentele GUI disponibile trebuie să satisfacă în mod adecvat nevoile dvs. Comparare SQL de la Redgate este standardul de aur pentru compararea schemelor SQL Server, IMHO (vorbim despre SQL Server drept?). Și BTW, eu sunt nu pe salariul Redgate. În ceea ce privește declanșatoarele DDL, ele
adăugat autor John Dewey, sursa