SQL Server ed ALM su database


Il blog di Alessandro Alpi
Archivio Posts
Anno 2018

Anno 2017

Anno 2016

Anno 2015

Anno 2014

Anno 2013

Anno 2012

Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

Condividere snippet folder con SQL Prompt al team

Il plugin Red-Gate SQL Prompt per SQL Server Management Studio offre, tra le altre cose, un set di shortcut per creare comandi al volo. La funzionalità, più nota come snippet manager, non solo consente di associare ad una semplice sequenza di caratteri un comando o un template anche complesso, bensì permette anche la personalizzazione dei collegamenti stessi.
Un esempio è quello che segue:


Per maggiori informazioni sul prodotto leggere qui.

Con l'installazione del componente aggiuntivo è già disponibile un set di snippet ma è possibile crearne di nuovi o modificare quelli esistenti. Ogni snippet è salvato su di un file con estensione proprietaria .sqlpromptsnippet e viene salvato sulla folder%USERPROFILE%\AppData\Local\Red Gate\SQL Prompt 5\Snippets

In ottica di lavoro in team, può risultare molto comodo condividere gli snippet con i nostri collaboratori. Non tanto quelli di default ma quelli che vengono aggiunti al set. Immaginiamo infatti quelli fortemente dedicati al database su cui si sta lavorando, come la creazione di una particolare parametrizzazione di un utente/ruolo oppure il set di opzioni per gli indici e via discorrendo. In quel caso possiamo creare i nostri snippet tramite il manager come segue:


Premendo Save, l'entry verrà aggiunta alla lista degli snippet preesistenti.
In questo caso, come è possibile distribuire a tutti gli item che devono essere condivisi? Personalmente ho deciso di seguire la seguente strada:
- utilizzo di dropbox
- copia del contenuto della cartella
- spostamento del puntatore alla folder per il plugin

Per fare tutto ho utilizzato powershell.

1) Dropbox folder
Dopo aver installato dropbox, creare una cartella che verrà condivisa e che conterrà gli snippet. Nell'esempio la chiameremo "Snippets". Condividere con i collaboratori.

2) powershwll script
Dopo che la cartella è stat creata (e condivisa), ho eseguito uno script powershell (che è tranquillamente eseguibile anche sui pc dei collaboratori).
Lo script è il seguente:

#specify the sql prompt folder (registry)

$SQLpromptFolder = "SQL Prompt 5"

 

#copies the snippet files into the dropboxfolder

$localAppDataSnippets = $env:LOCALAPPDATA + "\Red Gate\" + $SQLpromptFolder + "\Snippets\*.sqlpromptsnippet"

$newSnippetFolder = $env:USERPROFILE + "\Dropbox\Snippets"

Write-Host "Copying *.sqlpromptsnippet files from " + $localAppDataSnippets + " to " + $newSnippetFolder + ".."

Copy-Item $localAppDataSnippets $newSnippetFolder


#registry property

$SQLpromptRegistryFolder = "HKCU:\Software\Red Gate\" + $SQLpromptFolder

Set-Location $SQLpromptRegistryFolder

 

Set-ItemProperty . "Snippets Folder" $newSnippetFolder

Write-Host "Restart SQL Server Management Studio to apply.." 



Quello che fa è semplicemente:
- copia il contenuto della cartella di default di SQL Prompt sulla nuova creata su dropbox
- aggiunge un valore nel registro direttamente nella cartella che anche la documentazione di Red-Gate indica.

In questo modo, condividendo la folder e lanciando lo script sulle macchine di ogni dev del team, la folder impostata sul SQL Prompt è quella comune. Ogni aggiunta fatta viene recepita dai dev che lavorano in quel team e gli eventuali startup snippet vengono sempre allineati.

NB: questo script lavora solo sulla versione indicata nella variabile $SQLpromptFolder
E' sufficiente cambiare quel valore per puntare alle precedenti/successive release del prodotto, anche se consiglio di dare un'occhiata alla documentazione per capire se la feature è supportata.

Stay Tuned! 


Categoria: ALM
martedì, 25 giu 2013 Ore. 16.35
Statistiche
  • Views Home Page: 477.578
  • Views Posts: 861.353
  • Views Gallerie: 498.267
  • n° Posts: 484
  • n° Commenti: 273



















Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003