Unser Kollege Jonathan Mezach hat im Mai 2020 im Auftrag von R&R ein Open-Source-Projekt gestartet. Dieses Projekt heißt "MSBuild.Sdk.SqlProj" und ist auf "GitHub", einer Online-Plattform für den Austausch von Code, recht erfolgreich. Sie hat die Marke von 100.000 Downloads überschritten und darauf sind wir natürlich stolz.
Innerhalb von R&R WFM verwenden wir SQL Server Data Tools (SSDT) von Microsoft, um Änderungen in unserer Datenbank zu verwalten. Wir haben diese Entscheidung getroffen, als wir vor einigen Jahren von der Oracle-Datenbank auf SQL Server umgestiegen sind. Zu dieser Zeit war SSDT das ausgereifteste Tool, das uns die Versionskontrolle für unsere Datenbankänderungen ermöglichte.
Im Laufe der Zeit haben wir mehrere Skripte geschrieben, mit denen Entwickler ihre Änderungen lokal bereitstellen können. Wir haben auch Skripte für die Automatisierung der Bereitstellung in Test- und Produktionsumgebungen von Octopus Deploy geschrieben. Dies hat uns immer geholfen, unsere Datenbankänderungen kontrolliert durchzuführen. Aber angesichts der Entwicklungen und Änderungen auf der Seite von Visual Studio und seinen Werkzeugen scheint es, dass die SSDT-Werkzeuge hinterherhinken.
Eine Sache, die Jonathan gestört hat, ist, dass es nicht möglich ist, NuGet-Pakete in einem SQL-Projekt (.sqlproj) zu installieren. Dies würde es Ihnen beispielsweise ermöglichen, Abhängigkeiten im .NET-Ökosystem gemeinsam zu nutzen oder den MSBuild-Prozess zu ändern.
Also machte sich Jonathan daran, es selbst zu bauen. Glücklicherweise verfügte die zugrunde liegende Technologie, DacFx, über eine öffentliche API, die es ihm ermöglichte, mit dem Aufbau einer Lösung zu beginnen.
Jonathan hat es geschafft, in mehreren Schritten eine funktionierende Lösung zu entwickeln. Diese wurde dann in NuGet hochgeladen, damit andere die Lösung ausprobieren und testen konnten. Ursprünglich wurde es bereits in verschiedenen Szenarien vernünftig getestet, aber natürlich gibt es immer Szenarien, die noch nicht abgedeckt sind.
Nach seinem Start gewann das Open-Source-Projekt schnell an Zugkraft und erhielt gute Reaktionen und Rückmeldungen. Dies führte zu einer weiteren Entwicklung der Lösung und zu neuen Versionen mit neuen Funktionen. Auch die Open-Source-Gemeinschaft hat uns mit 35 externen "Beiträgen" geholfen. Wir sind sehr froh und dankbar dafür. Für uns zeigt dies auch die Kraft und das große Potenzial von Open Source.
Was als privates Projekt begann, um eine Lösung für schwierige Situationen mit SQL Server Data Tools zu finden, hat sich zu einem beliebten Projekt auf GitHub entwickelt. Vor kurzem hat es sogar die schöne Marke von 100.000 Downloads überschritten.
Wir sind natürlich stolz auf den Beitrag von Jonathan und R&R zur Open-Source-Gemeinschaft und hoffen, dass er anderen helfen wird. Angesichts der Anzahl der Downloads und der positiven Reaktionen scheint dies auch der Fall zu sein.
Darüber hinaus hat uns Jonathans Projekt bei der Verwaltung von Änderungen an unserer Datenbank sehr geholfen. Es ist also eine schöne Win-Win-Situation.
Die Open-Source-Technologie hat viele Vorteile und wird in vielen Bereichen des technologischen Spektrums eingesetzt. Denken Sie an Betriebssysteme für Mobiltelefone (z. B. Android) oder CMS für Websites (z. B. WordPress). Der große Vorteil von Open Source ist, dass es von einer großen Gemeinschaft "weiterentwickelt" werden kann und daher ständig verbessert und mit neuen Funktionen angereichert wird.
Innerhalb von R&R sehen wir viele Möglichkeiten im Bereich von Open Source. Wir beabsichtigen daher, geeignete Elemente unserer Software regelmäßig mit der Open-Source-Gemeinschaft zu teilen. Das MSBuild.Sdk.SqlProj Projekt von Jonathan ist ein sehr schöner Anfang und wir freuen uns auf die weiteren Entwicklungen.
Möchten Sie weitere (technische) Details zu diesem Projekt erfahren? Bitte besuchen Sie: https://github.com/rr-wfm/MSBuild.Sdk.SqlProj