Databaseproject wordt precies gebruikt om de meeste redenen die je hier hebt genoemd -
-
Ontwikkelaars checken gewoon de databasescriptbestanden uit, brengen de wijzigingen aan en checken ze weer in. Let wel, ze zullen .sql-bestanden wijzigen en niet direct de objecten die aanwezig zijn in een ontwikkeldatabase. Dus als u twee kolommen aan een databasetabel moet toevoegen, wijzigt u het script voor het maken van een tabel voor deze tabel en schrijft u GEEN wijzigingsscript voor deze tabel.
-
Als u het doel oude versie DB-schema hebt, kunt u dit project gewoon met de nieuwste bestanden in die database implementeren en er wordt een implementatiescript gemaakt (met de nodige alter-instructies). Er is een projectinstelling waarmee u kunt kiezen of het implementatiescript ook tegen de db moet worden uitgevoerd wanneer u 'implementeert'.
-
Het implementatiescript kan een deliverable zijn die afzonderlijk wordt getest met een prod-kopie en vervolgens als een patch op de prod wordt toegepast.
Over scripts voor gegevensmanipulatie ben ik niet erg zeker, maar voor alle andere doeleinden die u noemde, is een databaseproject perfect.