Allgemein Für Administratoren Für Architekten Für Entwickler Für Projektleiter Für Tester News Produkte Publikationen
X
Boris Wehrle
Boris Wehrle ist Senior Software Consultant und zertifizierter Projektleiter bei der AIT.

Boris Wehrle

Erzeugen eines Datenbank Templates in einem Visual Studio Database Projekt

Freitag, 15. Juli 2011

Das Visual Studio Datenbank Projekt bietet sich zur Verwaltung von Datenbanken während der Entwicklung einer Anwendung an.

Es bietet folgende wesentlichen Vorteile:

  • Das Datenbank Schema steht unter fortlaufender Versionskontrolle.
  • Quellcode und Datenbank werden als Einheit betrachtet. Ein Branching über den Quellcode und das Datenbank Schema hinweg wird hierdurch ermöglicht.
  • Veränderungen des Schemas werden automatisch im Rahmen des Kompilierens der Projektmappe auf Konsistenz geprüft und auf die Entwicklungsdatenbank übertragen.

Für die Aktualisierung der Datenbank wird ein SQL Skript erzeugt. Dieses enthält genau die Anweisung, die notwendig sind, um die bestehende Datenbank auf das aktuelle Schema zu heben.

Für das Installieren einer Anwendung auf einem Zielsystem kann es jedoch sinnvoll sein, statt auf ein SQL Skript, auf ein Backup einer leeren Datenbank zurückzugreifen. Das Umkopieren und Einhängen eines solchen Templates ist in der Regel deutlich schneller und verkürzt hierdurch die Installationszeit der Anwendung.

Die Erstellung des Backups ist im Rahmen des Post-Deployment Skripts des Datenbank Projekts möglich. Hierbei ist eine Besonderheit zu beachten.

Im Post-Deployment Skript stehen nicht wie von Post-build Events anderer Projekttypen gewohnt die MSBuild Variablen zur Verfügung. Diese müssen explizit wie nachfolgend gezeigt eingefügt werden.

  1. Hinzufügen der benötigten Variablen zu den SQL Variablen

    image

    image

  2. Anpassung der Projekt Datei

    image

    image

    Die Variable wird in einer neu angelegten ItemGroup referenziert. Als Wert wird der MSBuild Paraemter übergeben.

    image

  3. Laden der Projektdatei

    image

Nachdem die Anpassungen vorgenommen wurden, steht die Variable für eine Verwendung in dem Post-Deployment Skript zur Verfügung. Ein Datenbank Backup kann über den SQL Backup Befehl erstellt werden. Die Datei wird relativ zur Projektdatei im Ausführungsverzeichnis abgelegt.

   1: /*

   2: Post-Deployment Script Template                            

   3: */

   4:  

   5: print 'Create Database Template'

   6:  

   7: BACKUP DATABASE [NETFactory.Database]

   8: TO DISK= '$(ProjectDir)..\Bin\Database\NETFactory.Database.template'

   9: WITH FORMAT,

  10:    MEDIANAME = 'NETFactory.Database.template',

  11:    MEDIADESCRIPTION = 'NETFactory Project Database Template';

  12: GO

 

Verwandte Artikel:

Benötigen Sie Unterstützung bei der Software-Entwicklung und Architektur von .NET basierten Lösungen oder bei Einführung und Anpassung von Visual Studio / Microsoft Test Manager / Team Foundation Server?

Wir stehen Ihnen unter info(at)aitgmbh.de gerne zur Verfügung.

Tags:

Hinterlasse eine Antwort