Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parMarie-Thérèse Aubé Modifié depuis plus de 8 années
1
SQLSaturday Paris 2015 SSDT-DB pour les sceptiques! Cédric L. Charlier
2
SQLSaturday Paris 2015 Merci à nos sponsors…
3
SQLSaturday Paris 2015 Merci à nos volontaires…
4
SQLSaturday Paris 2015 Qui est-il? Business Intelligence, Data & Information Architect MVP SQL Server en provenance directe de Belgique Créateur du projet NBi (solution de testing BI - Open-Source) Contributeur sur d’autres projets Open-Source Fondamentalement agile seddryck.wordpress.com @Seddryck
5
SQLSaturday Paris 2015 Pourquoi une session sur SSDT-DB? Pas de support pour le refactoring On a déjà Redgate SQL Compare ® On a toujours fait ainsi! …
6
SQLSaturday Paris 2015 Agenda C’est quoi un DacPac? Refactoring Gérer des variantes d’une db Validation de règles (conventions) Templates et génération automatique de code
7
SQLSaturday Paris 2015 “Online” ou “… de mon temps …” Maintenir ou générer des scripts ALTER Gestion de versions Comment je saute la version x.y?
8
SQLSaturday Paris 2015 Modèle déclaratif Modèle dans son stade final T-SQL géré comme autre codes DacPAC ~== dll
9
SQLSaturday Paris 2015 Démo sur … DacPac
10
SQLSaturday Paris 2015 Détection de drifts
11
SQLSaturday Paris 2015 SSMS ou ligne de commande
12
SQLSaturday Paris 2015 Passage vers (plus) d’agilité CodeBuildTestReleaseDeploy Continuous Integration Continuous Delivery Continuous Deployment
13
SQLSaturday Paris 2015 Renommer un champ CREATE TABLE Customer ( CustomerId int not null, CustomerCode char(8), DisplayName varchar(120) ) INSERT INTO Customer ( CustomerCode, DisplayName ) VALUES ( … ) Renommage CustomerRef Propagation automatique
14
SQLSaturday Paris 2015 La fonctionnalité existe!
15
SQLSaturday Paris 2015 Démo de refactorisation
16
SQLSaturday Paris 2015 Autres actions de refactoring Renommer Déplacer un objet vers un autre schema Remplacer “*” par le nom effectif des champs Indiquer le nom complet des champs
17
SQLSaturday Paris 2015 C’est quoi une variante? Deux dbs quasiment identiques … avec des petits ajouts
18
SQLSaturday Paris 2015 Database unique Variante de base de données Extension du modèle Monthly Order Daily Order Customer Country Modèle principal Table-Valued Function
19
SQLSaturday Paris 2015 Démo de variantes
20
SQLSaturday Paris 2015 Comment faire?
21
SQLSaturday Paris 2015 Règles ou conventions de développement Le grand schtroumpf a dit que … Design, Naming, Performance
22
SQLSaturday Paris 2015 C’est quoi des règles ou des conventions? Design: Toutes les tables doivent avoir au moins un index Pas de colonne de type CHAR avec plus de 10 positions Naming: Pas de table se terminant par “view” Les colonnes IDENTITY doivent terminer par “Id” Model: Pas plus de 50 roles dans la base de données
23
SQLSaturday Paris 2015 A l’attaque … Un peu de C# API faiblement couplée de SSDT TSqlRule, TSqlModel GetReferenced GetReferencing
24
SQLSaturday Paris 2015 Démo de refactorisation
25
SQLSaturday Paris 2015 … Sur le champs de bataille Références à SSDT Copier les dlls vers “extension” Debug via Start autre VS Activer “Rules check”
26
SQLSaturday Paris 2015 Templates T-SQL Pas de répétition de code “identique” Pas de code “dynamique” Maintenance facilitée
27
SQLSaturday Paris 2015 Comment cela fonctionne? Mixte entre code C# et T-SQL Héritage possible A la compilation du modèle Chaque fichier “tt” est transformé en un fichier “sql” Le fichier “sql” fait partie du modèle.
28
SQLSaturday Paris 2015 T4 Item fourni avec SSDT-DB Standard sur le marché (C#, ASP.Net, …) Intégré avec l’API de SSDT-DB Ajouter les références nécessaires Utiliser la variable TSqlModel Model Le modèle est celui qui est compilé pas le modèle live!
29
SQLSaturday Paris 2015 Exemples d’utilisation Stored procedure Insert/Update Search queries (many parameters) Chargement de tables “fixes” à partir de fichier TXT
30
SQLSaturday Paris 2015 Demo Template MERGE VALUES (non-identity-fields) ON unique-constraint-fields INSERT non-identity-fields UPDATE non-unique-constraint-fields
31
SQLSaturday Paris 2015 Encore plus loin … Build, deploy contributor Continuous integration Custom Unit Tests
32
SQLSaturday Paris 2015 Bénéfices de SSDT-DB Intégré à Visual Studio Source-control Build-check de la solution Build, Intégration ou déploiement continu Templates pour générer du code T-SQL L’API de SSDT Points d’extensibilité
33
SQLSaturday Paris 2015 …Et en plus on peut gagner des cadeaux http://GUSS.pro/sqlsat
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.