Wir Skript jede DDL Änderung der DB und wenn wir machen eine „Freigabe“ wir sie zu einem einzigen „Upgrade“ Skript verketten, zusammen mit allen gespeicherten Prozeduren, die „seit dem letzten Mal“ geändert haben
Wir haben eine Tabelle, in der die Versionsnummer des zuletzt verwendeten Patches gespeichert wird - damit die Upgrade-Tools alle neueren Patches anwenden können.
Jede gespeicherte Prozedur befindet sich in einer separaten Datei. Jeder beginnt mit einer "insert" -Anweisung in eine Logging-Tabelle, die den Namen von SProc, Version und "now" speichert. (Tatsächlich wird ein SProc ausgeführt, um dies zu speichern, es ist keine rohe insert-Anweisung).
Manchmal ändern wir während der Bereitstellung manuell einen SProc- oder Rollout-Odds & endet von DEV, und durch den Vergleich der TEST- und PRODUCTION-Datenbanken des Logins können wir überprüfen, ob alle Versionen die gleiche Version haben.
Wir haben auch eine "release" master-database, auf die wir die Updates anwenden, und wir verwenden eine wiederhergestellte Sicherung für Neuinstallationen (spart die Zeit für die Ausführung der Skripts, die sich mit der Zeit erhöhen). Wir aktualisieren das als & wenn, denn offensichtlich, wenn es ein bisschen altbacken ist, können die späteren Patch-Skripte angewendet werden.
Unsere Release-Datenbank auch hygienisiert enthält Starterdaten (die gelöscht wird, oder manchmal angenommen & geändert, bevor eine neue Installation live geschaltet wird - so ist dies nicht in allen Update-Skripte enthalten)
SQL Server eine Schaltfläche in der Symbolleiste hat Um Änderungen zu ändern, können Sie die GUI-Tools verwenden, um alle Änderungen vorzunehmen. Anstatt sie zu speichern, generieren Sie stattdessen ein Skript. (Tatsächlich gibt es eine Checkbox immer ein Skript generieren, wenn Sie also vergessen und einfach drücken Sie Speich es gibt Ihnen noch das Skript es verwendet After-the-fact, die als Patch-Datei gespeichert werden können)
+1. Ich folge einem ähnlichen Prozess und es funktioniert gut. –
+1. Wir folgen ähnlichen Prozessen und haben ein Tool namens SQL Deploy, das uns sehr hilft –