SlideShare a Scribd company logo
Database & Source Control 9 giugno
2016
Sponsored by
Anche con SQL Server si può
Sponsor
Presenting...
http://www.devopsheroes.net/
Alessandro Alpi
Microsoft MVP – SQL Server dal 2008
Blog ITA: http://blogs.dotnethell.it/suxstellino
Blog ENG: http://suxstellino.wordpress.com/
Website: http://www.alessandroalpi.net
CTO Engage IT Services S.r.l.
www.engageitservices.it
Team leader (SCRUM)
Communities
Getlatestversion.it
Cos’è
Repository per
Gestore dei cosiddetti changes (revisioni dei nostri file)
Storage sicuro
Gestire il lavoro (anche e soprattutto) in team
Sinonimo di Version Control
Parte di un Software Configuration Management
Cosa non è? Uno storage per tutto
1/7
DB SC
Perché si usa
Elemento base per i processi a pattern «continuous»
Continuous Integration (integrazione continua dei cambiamenti in sviluppo)
Continuous Delivery (evoluzione della precedente, «finisce» con UAT e un rilascio)
Continuous Deployment (sinonimi, delivery ~ deploy, per alcune scuole)
Revisioni
Collaborazione e condivisione
Restore delle versioni e backup
Per cosa non si usa? I film scaricati 
2/7
DB SC
Ok, e su database?
Condivisione del database nel team
Sincronizzazione dei database
Invio dei changeset a database
Revisioni del codice
Di programmabilità
Di Data Definition Language (schema)
Di Data Control Language (security)
Di dati statici
I dati utente? Non sono da source control!
3/7
DB SC
Com’è fatto
Repository
Modalità centralizzata (uno solo «a server»)
Modalità distribuito (più copie del repository)
API
Comandi per copiare il repository (distribuito)
Comandi per scaricare il repository
Comandi per inviare i changeset
Modalità
Condivisa (centralizzata, un solo database)
Dedicata (distribuita, più database)
E le branch? Sessione di Igor! 
4/7
DB SC
Dedicata Condivisa
Cosa c’è dietro le quinte
Working base folder
Copia locale del database scaricato
Copia locale dei cambiamenti
Transient folder
Ultima versione effettiva su source control
Comparazione
La Working base è sincronizzata con le revisioni
La Working base viene comparata con la transient per generare le diff
SSMS come vede i cambiamenti? Polling di una dll 
5/7
DB SC
La linea del tempo.. 5/7
DB SC
Sql Server Management
Studio IDE
Working folder
File “.sql”
Development
Team Explorer to
Source Control
Code, History and
Changesets
Save Send
GetApply
Repository
Ci sono strumenti..
IDE di gestione
RedGate SQL Source Control (attualmente v5 in RC)
ApexSQL Source Control
Integrati a Sql Server Management Studio
Sono IDE che usano API per accedere a SC
7/7
DB SC
DEMO 1 – RedGate SoC v5 con VSTS (link + get)
Modalità dedicata + working folder
Utilizzo di VS Team Explorer
Link + get del database
DEMO 2 – RedGate SoC v5 con VSTS (new/edit items)
Modifica oggetti
Aggiunta dati
DEMO 3 – RedGate SoC v5 con VSTS (remove items)
Rimozione oggetti
Rimozione dati
DEMO 4 – RedGate SoC v5 con VSTS (filtri e options)
Filtri
Comparison options
DEMO 5 – RedGate SoC v5 con VSTS (migrations)
Migrations e refactor iniettati
se ci stanno, altrimenti due chiacchiere
Grazie
•Domande?

More Related Content

What's hot

[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source control
[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source control[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source control
[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source control
Alessandro Alpi
 
Tfs Basic - Quick Intro
Tfs Basic - Quick IntroTfs Basic - Quick Intro
Tfs Basic - Quick Intro
Gian Maria Ricci
 
Le novità di Visual Studio 2015 per lo sviluppatore ASP.NET
Le novità di Visual Studio 2015 per lo sviluppatore ASP.NETLe novità di Visual Studio 2015 per lo sviluppatore ASP.NET
Le novità di Visual Studio 2015 per lo sviluppatore ASP.NETEmanuele Bartolesi
 
What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)Luca Milan
 
Creare App per Office 365 con ASP.NET MVC 5
Creare App per Office 365 con ASP.NET MVC 5Creare App per Office 365 con ASP.NET MVC 5
Creare App per Office 365 con ASP.NET MVC 5
Emanuele Bartolesi
 
Php for ASP.NET Developers
Php for ASP.NET DevelopersPhp for ASP.NET Developers
Php for ASP.NET Developers
Emanuele Bartolesi
 
Tutto su ASP.NET Identity
Tutto su ASP.NET IdentityTutto su ASP.NET Identity
Tutto su ASP.NET Identity
Emanuele Bartolesi
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web Apps
Andrea Dottor
 
ALM Revolutions - What's new in visual studio ALM 11
ALM Revolutions - What's new in visual studio ALM 11ALM Revolutions - What's new in visual studio ALM 11
ALM Revolutions - What's new in visual studio ALM 11
DomusDotNet
 
Php Day 2009:Un Salto Nel Buio
Php Day 2009:Un Salto Nel BuioPhp Day 2009:Un Salto Nel Buio
Php Day 2009:Un Salto Nel Buio
pietrobr
 
[ITA] SQL Saturday 257 - Put databases under source control
[ITA] SQL Saturday 257 - Put databases under source control[ITA] SQL Saturday 257 - Put databases under source control
[ITA] SQL Saturday 257 - Put databases under source control
Alessandro Alpi
 
Delphi and ExtJS (26 ottobre 2017)
Delphi and ExtJS (26 ottobre 2017)Delphi and ExtJS (26 ottobre 2017)
Delphi and ExtJS (26 ottobre 2017)
Eugenio Minardi
 
Dot netcampus2015 green-template
Dot netcampus2015 green-templateDot netcampus2015 green-template
Dot netcampus2015 green-templateDotNetCampus
 
DevOps by examples - Agile O'Day 2017
DevOps by examples - Agile O'Day 2017DevOps by examples - Agile O'Day 2017
DevOps by examples - Agile O'Day 2017
Giulio Vian
 
ASP.NET Core - Razor Pages
ASP.NET Core - Razor PagesASP.NET Core - Razor Pages
ASP.NET Core - Razor Pages
Andrea Dottor
 
Meetup PrestaShop Torino [IT]
Meetup PrestaShop Torino [IT]Meetup PrestaShop Torino [IT]
Meetup PrestaShop Torino [IT]
PrestaShop
 
Dal requisito all'implementazione @ CD2010
Dal requisito all'implementazione @ CD2010Dal requisito all'implementazione @ CD2010
Dal requisito all'implementazione @ CD2010
Mauro Servienti
 
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimization
Andrea Dottor
 
Cloud Google App Engine Paas
Cloud   Google App Engine PaasCloud   Google App Engine Paas
Cloud Google App Engine Paassteccami
 
Web app slots and WebAPI versioning
Web app slots and WebAPI versioningWeb app slots and WebAPI versioning
Web app slots and WebAPI versioning
Nicolò Carandini
 

What's hot (20)

[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source control
[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source control[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source control
[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source control
 
Tfs Basic - Quick Intro
Tfs Basic - Quick IntroTfs Basic - Quick Intro
Tfs Basic - Quick Intro
 
Le novità di Visual Studio 2015 per lo sviluppatore ASP.NET
Le novità di Visual Studio 2015 per lo sviluppatore ASP.NETLe novità di Visual Studio 2015 per lo sviluppatore ASP.NET
Le novità di Visual Studio 2015 per lo sviluppatore ASP.NET
 
What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)
 
Creare App per Office 365 con ASP.NET MVC 5
Creare App per Office 365 con ASP.NET MVC 5Creare App per Office 365 con ASP.NET MVC 5
Creare App per Office 365 con ASP.NET MVC 5
 
Php for ASP.NET Developers
Php for ASP.NET DevelopersPhp for ASP.NET Developers
Php for ASP.NET Developers
 
Tutto su ASP.NET Identity
Tutto su ASP.NET IdentityTutto su ASP.NET Identity
Tutto su ASP.NET Identity
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web Apps
 
ALM Revolutions - What's new in visual studio ALM 11
ALM Revolutions - What's new in visual studio ALM 11ALM Revolutions - What's new in visual studio ALM 11
ALM Revolutions - What's new in visual studio ALM 11
 
Php Day 2009:Un Salto Nel Buio
Php Day 2009:Un Salto Nel BuioPhp Day 2009:Un Salto Nel Buio
Php Day 2009:Un Salto Nel Buio
 
[ITA] SQL Saturday 257 - Put databases under source control
[ITA] SQL Saturday 257 - Put databases under source control[ITA] SQL Saturday 257 - Put databases under source control
[ITA] SQL Saturday 257 - Put databases under source control
 
Delphi and ExtJS (26 ottobre 2017)
Delphi and ExtJS (26 ottobre 2017)Delphi and ExtJS (26 ottobre 2017)
Delphi and ExtJS (26 ottobre 2017)
 
Dot netcampus2015 green-template
Dot netcampus2015 green-templateDot netcampus2015 green-template
Dot netcampus2015 green-template
 
DevOps by examples - Agile O'Day 2017
DevOps by examples - Agile O'Day 2017DevOps by examples - Agile O'Day 2017
DevOps by examples - Agile O'Day 2017
 
ASP.NET Core - Razor Pages
ASP.NET Core - Razor PagesASP.NET Core - Razor Pages
ASP.NET Core - Razor Pages
 
Meetup PrestaShop Torino [IT]
Meetup PrestaShop Torino [IT]Meetup PrestaShop Torino [IT]
Meetup PrestaShop Torino [IT]
 
Dal requisito all'implementazione @ CD2010
Dal requisito all'implementazione @ CD2010Dal requisito all'implementazione @ CD2010
Dal requisito all'implementazione @ CD2010
 
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimization
 
Cloud Google App Engine Paas
Cloud   Google App Engine PaasCloud   Google App Engine Paas
Cloud Google App Engine Paas
 
Web app slots and WebAPI versioning
Web app slots and WebAPI versioningWeb app slots and WebAPI versioning
Web app slots and WebAPI versioning
 

Viewers also liked

Don’t await … try async/await !
Don’t await … try async/await !Don’t await … try async/await !
Don’t await … try async/await !
Klab
 
There is a bot for that
There is a bot for thatThere is a bot for that
There is a bot for that
Klab
 
Introduzione a ReactiveX
Introduzione a ReactiveXIntroduzione a ReactiveX
Introduzione a ReactiveX
Klab
 
The five dysfunctions of a team
The five dysfunctions of a teamThe five dysfunctions of a team
The five dysfunctions of a team
Klab
 
A Quick Intro to ReactiveX
A Quick Intro to ReactiveXA Quick Intro to ReactiveX
A Quick Intro to ReactiveX
Troy Miles
 
The Five Dysfunctions of a Team
The Five Dysfunctions of a TeamThe Five Dysfunctions of a Team
The Five Dysfunctions of a Team
Francesco Attanasio
 
La muerte del silo - CAS2016
La muerte del silo - CAS2016La muerte del silo - CAS2016
La muerte del silo - CAS2016
Jose E. Rodriguez Huerta
 
Five Dysfunctions Of A Team
Five Dysfunctions Of A TeamFive Dysfunctions Of A Team
Five Dysfunctions Of A Team
CoachGwen2u
 
The five dysfunctions of a team
The five dysfunctions of a teamThe five dysfunctions of a team
The five dysfunctions of a team
Dominik Jungowski
 
The 5 dysfunctions of a team: a PowerPoint presentation of Lencioni's book
The 5 dysfunctions of a team: a PowerPoint presentation of Lencioni's bookThe 5 dysfunctions of a team: a PowerPoint presentation of Lencioni's book
The 5 dysfunctions of a team: a PowerPoint presentation of Lencioni's book
Susan Tait, CSM
 
Leadership Tools for Better Teams - Personal History Exercise - 20150615
Leadership Tools for Better Teams - Personal History Exercise - 20150615Leadership Tools for Better Teams - Personal History Exercise - 20150615
Leadership Tools for Better Teams - Personal History Exercise - 20150615
Joel Wenger
 
Patrick Lencioni’s Five Team Dysfunctions
Patrick Lencioni’s Five Team DysfunctionsPatrick Lencioni’s Five Team Dysfunctions
Patrick Lencioni’s Five Team Dysfunctions
Neil Beyersdorf - MSES | CLSSMBB | Prosci OCM
 
The 5 Dysfunctions of a Team
The 5 Dysfunctions of a TeamThe 5 Dysfunctions of a Team
The 5 Dysfunctions of a Team
Eric Brown, Author and Coach
 
Building Better Teams - Overcoming the 5 Dysfunctions
Building Better Teams - Overcoming the 5 DysfunctionsBuilding Better Teams - Overcoming the 5 Dysfunctions
Building Better Teams - Overcoming the 5 Dysfunctions
Joel Wenger
 
The 5 dysfunctions of a team Management Presentation
The 5 dysfunctions of a team Management PresentationThe 5 dysfunctions of a team Management Presentation
The 5 dysfunctions of a team Management Presentation
rajopadhye
 
Building teams that excel - Creating trust in teams
Building teams that excel - Creating trust in teamsBuilding teams that excel - Creating trust in teams
Building teams that excel - Creating trust in teams
Jose E. Rodriguez Huerta
 
The Five Dysfunctions of a Team
The Five Dysfunctions of a TeamThe Five Dysfunctions of a Team
The Five Dysfunctions of a TeamGreg
 
Our Iceberg Is Melting
Our Iceberg Is MeltingOur Iceberg Is Melting
Our Iceberg Is Melting
Chulatep Senivongse
 

Viewers also liked (18)

Don’t await … try async/await !
Don’t await … try async/await !Don’t await … try async/await !
Don’t await … try async/await !
 
There is a bot for that
There is a bot for thatThere is a bot for that
There is a bot for that
 
Introduzione a ReactiveX
Introduzione a ReactiveXIntroduzione a ReactiveX
Introduzione a ReactiveX
 
The five dysfunctions of a team
The five dysfunctions of a teamThe five dysfunctions of a team
The five dysfunctions of a team
 
A Quick Intro to ReactiveX
A Quick Intro to ReactiveXA Quick Intro to ReactiveX
A Quick Intro to ReactiveX
 
The Five Dysfunctions of a Team
The Five Dysfunctions of a TeamThe Five Dysfunctions of a Team
The Five Dysfunctions of a Team
 
La muerte del silo - CAS2016
La muerte del silo - CAS2016La muerte del silo - CAS2016
La muerte del silo - CAS2016
 
Five Dysfunctions Of A Team
Five Dysfunctions Of A TeamFive Dysfunctions Of A Team
Five Dysfunctions Of A Team
 
The five dysfunctions of a team
The five dysfunctions of a teamThe five dysfunctions of a team
The five dysfunctions of a team
 
The 5 dysfunctions of a team: a PowerPoint presentation of Lencioni's book
The 5 dysfunctions of a team: a PowerPoint presentation of Lencioni's bookThe 5 dysfunctions of a team: a PowerPoint presentation of Lencioni's book
The 5 dysfunctions of a team: a PowerPoint presentation of Lencioni's book
 
Leadership Tools for Better Teams - Personal History Exercise - 20150615
Leadership Tools for Better Teams - Personal History Exercise - 20150615Leadership Tools for Better Teams - Personal History Exercise - 20150615
Leadership Tools for Better Teams - Personal History Exercise - 20150615
 
Patrick Lencioni’s Five Team Dysfunctions
Patrick Lencioni’s Five Team DysfunctionsPatrick Lencioni’s Five Team Dysfunctions
Patrick Lencioni’s Five Team Dysfunctions
 
The 5 Dysfunctions of a Team
The 5 Dysfunctions of a TeamThe 5 Dysfunctions of a Team
The 5 Dysfunctions of a Team
 
Building Better Teams - Overcoming the 5 Dysfunctions
Building Better Teams - Overcoming the 5 DysfunctionsBuilding Better Teams - Overcoming the 5 Dysfunctions
Building Better Teams - Overcoming the 5 Dysfunctions
 
The 5 dysfunctions of a team Management Presentation
The 5 dysfunctions of a team Management PresentationThe 5 dysfunctions of a team Management Presentation
The 5 dysfunctions of a team Management Presentation
 
Building teams that excel - Creating trust in teams
Building teams that excel - Creating trust in teamsBuilding teams that excel - Creating trust in teams
Building teams that excel - Creating trust in teams
 
The Five Dysfunctions of a Team
The Five Dysfunctions of a TeamThe Five Dysfunctions of a Team
The Five Dysfunctions of a Team
 
Our Iceberg Is Melting
Our Iceberg Is MeltingOur Iceberg Is Melting
Our Iceberg Is Melting
 

Similar to Database under source control

DotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql ServerDotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql Server
Alessandro Alpi
 
CONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVERCONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVER
DotNetCampus
 
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
Alessandro Alpi
 
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
Alessandro Alpi
 
PASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous IntegrationPASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous Integration
Alessandro Alpi
 
Database Project in Visual Studio 2010
Database Project in Visual Studio 2010Database Project in Visual Studio 2010
Database Project in Visual Studio 2010
Gian Maria Ricci
 
Confio Ignite - webinar by Matteo Durighetto
Confio Ignite - webinar by Matteo DurighettoConfio Ignite - webinar by Matteo Durighetto
Confio Ignite - webinar by Matteo DurighettoMiriade Spa
 
Installazione del cms alfresco
Installazione del cms alfrescoInstallazione del cms alfresco
Installazione del cms alfresco
Mirco Leo
 
Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2Emanuele Zanchettin
 
Struttin' on, novità in casa Struts
Struttin' on, novità in casa StrutsStruttin' on, novità in casa Struts
Struttin' on, novità in casa Struts
Marcello Teodori
 
Database project alla riscossa
Database project alla riscossaDatabase project alla riscossa
Database project alla riscossa
Gian Maria Ricci
 
Ddive Xpage852
Ddive Xpage852Ddive Xpage852
Autumn Event Vicenza
Autumn Event VicenzaAutumn Event Vicenza
Autumn Event Vicenza
Piero Sbressa
 
Oracle 1
Oracle 1Oracle 1
Oracle 1
Sergio Ronchi
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
Emanuele Zanchettin
 
SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)
Valerio Radice
 
Corso Avanzato Alfresco Ecm
Corso Avanzato Alfresco EcmCorso Avanzato Alfresco Ecm
Corso Avanzato Alfresco Ecmedoardo fraioli
 
DDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continuaDDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continua
Dominopoint - Italian Lotus User Group
 
Webcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio OnlineWebcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio Online
Davide Benvegnù
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
Emanuele Zanchettin
 

Similar to Database under source control (20)

DotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql ServerDotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql Server
 
CONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVERCONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVER
 
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
 
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
 
PASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous IntegrationPASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous Integration
 
Database Project in Visual Studio 2010
Database Project in Visual Studio 2010Database Project in Visual Studio 2010
Database Project in Visual Studio 2010
 
Confio Ignite - webinar by Matteo Durighetto
Confio Ignite - webinar by Matteo DurighettoConfio Ignite - webinar by Matteo Durighetto
Confio Ignite - webinar by Matteo Durighetto
 
Installazione del cms alfresco
Installazione del cms alfrescoInstallazione del cms alfresco
Installazione del cms alfresco
 
Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2
 
Struttin' on, novità in casa Struts
Struttin' on, novità in casa StrutsStruttin' on, novità in casa Struts
Struttin' on, novità in casa Struts
 
Database project alla riscossa
Database project alla riscossaDatabase project alla riscossa
Database project alla riscossa
 
Ddive Xpage852
Ddive Xpage852Ddive Xpage852
Ddive Xpage852
 
Autumn Event Vicenza
Autumn Event VicenzaAutumn Event Vicenza
Autumn Event Vicenza
 
Oracle 1
Oracle 1Oracle 1
Oracle 1
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
 
SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)
 
Corso Avanzato Alfresco Ecm
Corso Avanzato Alfresco EcmCorso Avanzato Alfresco Ecm
Corso Avanzato Alfresco Ecm
 
DDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continuaDDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continua
 
Webcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio OnlineWebcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio Online
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
 

Database under source control

  • 1. Database & Source Control 9 giugno 2016 Sponsored by Anche con SQL Server si può
  • 4. Alessandro Alpi Microsoft MVP – SQL Server dal 2008 Blog ITA: http://blogs.dotnethell.it/suxstellino Blog ENG: http://suxstellino.wordpress.com/ Website: http://www.alessandroalpi.net CTO Engage IT Services S.r.l. www.engageitservices.it Team leader (SCRUM) Communities Getlatestversion.it
  • 5. Cos’è Repository per Gestore dei cosiddetti changes (revisioni dei nostri file) Storage sicuro Gestire il lavoro (anche e soprattutto) in team Sinonimo di Version Control Parte di un Software Configuration Management Cosa non è? Uno storage per tutto 1/7 DB SC
  • 6. Perché si usa Elemento base per i processi a pattern «continuous» Continuous Integration (integrazione continua dei cambiamenti in sviluppo) Continuous Delivery (evoluzione della precedente, «finisce» con UAT e un rilascio) Continuous Deployment (sinonimi, delivery ~ deploy, per alcune scuole) Revisioni Collaborazione e condivisione Restore delle versioni e backup Per cosa non si usa? I film scaricati  2/7 DB SC
  • 7. Ok, e su database? Condivisione del database nel team Sincronizzazione dei database Invio dei changeset a database Revisioni del codice Di programmabilità Di Data Definition Language (schema) Di Data Control Language (security) Di dati statici I dati utente? Non sono da source control! 3/7 DB SC
  • 8. Com’è fatto Repository Modalità centralizzata (uno solo «a server») Modalità distribuito (più copie del repository) API Comandi per copiare il repository (distribuito) Comandi per scaricare il repository Comandi per inviare i changeset Modalità Condivisa (centralizzata, un solo database) Dedicata (distribuita, più database) E le branch? Sessione di Igor!  4/7 DB SC Dedicata Condivisa
  • 9. Cosa c’è dietro le quinte Working base folder Copia locale del database scaricato Copia locale dei cambiamenti Transient folder Ultima versione effettiva su source control Comparazione La Working base è sincronizzata con le revisioni La Working base viene comparata con la transient per generare le diff SSMS come vede i cambiamenti? Polling di una dll  5/7 DB SC
  • 10. La linea del tempo.. 5/7 DB SC Sql Server Management Studio IDE Working folder File “.sql” Development Team Explorer to Source Control Code, History and Changesets Save Send GetApply Repository
  • 11. Ci sono strumenti.. IDE di gestione RedGate SQL Source Control (attualmente v5 in RC) ApexSQL Source Control Integrati a Sql Server Management Studio Sono IDE che usano API per accedere a SC 7/7 DB SC
  • 12. DEMO 1 – RedGate SoC v5 con VSTS (link + get) Modalità dedicata + working folder Utilizzo di VS Team Explorer Link + get del database
  • 13. DEMO 2 – RedGate SoC v5 con VSTS (new/edit items) Modifica oggetti Aggiunta dati
  • 14. DEMO 3 – RedGate SoC v5 con VSTS (remove items) Rimozione oggetti Rimozione dati
  • 15. DEMO 4 – RedGate SoC v5 con VSTS (filtri e options) Filtri Comparison options
  • 16. DEMO 5 – RedGate SoC v5 con VSTS (migrations) Migrations e refactor iniettati se ci stanno, altrimenti due chiacchiere