From 155a86b04d9e9b3c123d07802385b9adc5c3f29e Mon Sep 17 00:00:00 2001 From: Vincent Bourgeois Date: Mon, 16 May 2022 15:34:58 +0200 Subject: [PATCH 1/5] Add database schema --- DbDeploy-Kata.sln | 14 ++++ Vs-SqlProject/Vs-SqlProject.sqlproj | 72 +++++++++++++++++++++ Vs-SqlProject/dbo/Tables/Categories.sql | 6 ++ Vs-SqlProject/dbo/Tables/Customers.sql | 11 ++++ Vs-SqlProject/dbo/Tables/OrderLines.sql | 9 +++ Vs-SqlProject/dbo/Tables/Orders.sql | 10 +++ Vs-SqlProject/dbo/Tables/PaymentMethods.sql | 5 ++ Vs-SqlProject/dbo/Tables/Products.sql | 11 ++++ Vs-SqlProject/dbo/Views/CustomerOrders.sql | 11 ++++ 9 files changed, 149 insertions(+) create mode 100644 Vs-SqlProject/Vs-SqlProject.sqlproj create mode 100644 Vs-SqlProject/dbo/Tables/Categories.sql create mode 100644 Vs-SqlProject/dbo/Tables/Customers.sql create mode 100644 Vs-SqlProject/dbo/Tables/OrderLines.sql create mode 100644 Vs-SqlProject/dbo/Tables/Orders.sql create mode 100644 Vs-SqlProject/dbo/Tables/PaymentMethods.sql create mode 100644 Vs-SqlProject/dbo/Tables/Products.sql create mode 100644 Vs-SqlProject/dbo/Views/CustomerOrders.sql diff --git a/DbDeploy-Kata.sln b/DbDeploy-Kata.sln index 907eae2..e03614e 100644 --- a/DbDeploy-Kata.sln +++ b/DbDeploy-Kata.sln @@ -15,7 +15,21 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Deployment", "Deployment", Legacy-Deployment\20220516-AddOrderTotal.sql = Legacy-Deployment\20220516-AddOrderTotal.sql EndProjectSection EndProject +Project("{00D1A9C2-B5F0-4AF3-8072-F6C62B433612}") = "Vs-SqlProject", "Vs-SqlProject\Vs-SqlProject.sqlproj", "{36B155B0-3ADB-4F2A-A32A-B7042AEA1ADD}" +EndProject Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {36B155B0-3ADB-4F2A-A32A-B7042AEA1ADD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {36B155B0-3ADB-4F2A-A32A-B7042AEA1ADD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {36B155B0-3ADB-4F2A-A32A-B7042AEA1ADD}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {36B155B0-3ADB-4F2A-A32A-B7042AEA1ADD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {36B155B0-3ADB-4F2A-A32A-B7042AEA1ADD}.Release|Any CPU.Build.0 = Release|Any CPU + {36B155B0-3ADB-4F2A-A32A-B7042AEA1ADD}.Release|Any CPU.Deploy.0 = Release|Any CPU + EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection diff --git a/Vs-SqlProject/Vs-SqlProject.sqlproj b/Vs-SqlProject/Vs-SqlProject.sqlproj new file mode 100644 index 0000000..5392c7d --- /dev/null +++ b/Vs-SqlProject/Vs-SqlProject.sqlproj @@ -0,0 +1,72 @@ + + + + Debug + AnyCPU + Vs_SqlProject + 2.0 + 4.1 + {36b155b0-3adb-4f2a-a32a-b7042aea1add} + Microsoft.Data.Tools.Schema.Sql.Sql130DatabaseSchemaProvider + Database + + + Vs_SqlProject + Vs_SqlProject + 1033, CI + BySchemaAndSchemaType + True + v4.7.2 + CS + Properties + False + True + True + + + bin\Release\ + $(MSBuildProjectName).sql + False + pdbonly + true + false + true + prompt + 4 + + + bin\Debug\ + $(MSBuildProjectName).sql + false + true + full + false + true + true + prompt + 4 + + + 11.0 + + True + 11.0 + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Vs-SqlProject/dbo/Tables/Categories.sql b/Vs-SqlProject/dbo/Tables/Categories.sql new file mode 100644 index 0000000..0b200c1 --- /dev/null +++ b/Vs-SqlProject/dbo/Tables/Categories.sql @@ -0,0 +1,6 @@ +CREATE TABLE [dbo].[Categories] ( + [CategoryId] INT IDENTITY (1, 1) NOT NULL, + [Name] NVARCHAR (100) NOT NULL, + CONSTRAINT [PK_Categories] PRIMARY KEY CLUSTERED ([CategoryId] ASC) +); + diff --git a/Vs-SqlProject/dbo/Tables/Customers.sql b/Vs-SqlProject/dbo/Tables/Customers.sql new file mode 100644 index 0000000..b97ea54 --- /dev/null +++ b/Vs-SqlProject/dbo/Tables/Customers.sql @@ -0,0 +1,11 @@ +CREATE TABLE [dbo].[Customers] ( + [CustomerId] INT IDENTITY (1, 1) NOT NULL, + [Username] NVARCHAR (500) NOT NULL, + CONSTRAINT [PK_Customers] PRIMARY KEY CLUSTERED ([CustomerId] ASC) +); + + +GO +CREATE UNIQUE NONCLUSTERED INDEX [UIX_Customers_Username] + ON [dbo].[Customers]([Username] ASC); + diff --git a/Vs-SqlProject/dbo/Tables/OrderLines.sql b/Vs-SqlProject/dbo/Tables/OrderLines.sql new file mode 100644 index 0000000..4b09b07 --- /dev/null +++ b/Vs-SqlProject/dbo/Tables/OrderLines.sql @@ -0,0 +1,9 @@ +CREATE TABLE [dbo].[OrderLines] ( + [OrderId] INT NOT NULL, + [ProductId] INT NOT NULL, + [Quantity] INT CONSTRAINT [DF_OrderLines_Quantity] DEFAULT ((1)) NOT NULL, + CONSTRAINT [PK_OrderLines] PRIMARY KEY CLUSTERED ([OrderId] ASC, [ProductId] ASC), + CONSTRAINT [FK_OrderLines_Orders] FOREIGN KEY ([OrderId]) REFERENCES [dbo].[Orders] ([OrderId]), + CONSTRAINT [FK_OrderLines_Products] FOREIGN KEY ([ProductId]) REFERENCES [dbo].[Products] ([ProductId]) +); + diff --git a/Vs-SqlProject/dbo/Tables/Orders.sql b/Vs-SqlProject/dbo/Tables/Orders.sql new file mode 100644 index 0000000..08e4cf2 --- /dev/null +++ b/Vs-SqlProject/dbo/Tables/Orders.sql @@ -0,0 +1,10 @@ +CREATE TABLE [dbo].[Orders] ( + [OrderId] INT IDENTITY (1, 1) NOT NULL, + [CustomerId] INT NOT NULL, + [DeliveryAddress] NVARCHAR (500) NOT NULL, + [PaymentMethod] NVARCHAR (50) NOT NULL, + CONSTRAINT [PK_Orders] PRIMARY KEY CLUSTERED ([OrderId] ASC), + CONSTRAINT [FK_Orders_Customers] FOREIGN KEY ([CustomerId]) REFERENCES [dbo].[Customers] ([CustomerId]), + CONSTRAINT [FK_Orders_PaymentMethods] FOREIGN KEY ([PaymentMethod]) REFERENCES [dbo].[PaymentMethods] ([PaymentMethod]) +); + diff --git a/Vs-SqlProject/dbo/Tables/PaymentMethods.sql b/Vs-SqlProject/dbo/Tables/PaymentMethods.sql new file mode 100644 index 0000000..68b43b2 --- /dev/null +++ b/Vs-SqlProject/dbo/Tables/PaymentMethods.sql @@ -0,0 +1,5 @@ +CREATE TABLE [dbo].[PaymentMethods] ( + [PaymentMethod] NVARCHAR (50) NOT NULL, + CONSTRAINT [PK_PaymentMethods] PRIMARY KEY CLUSTERED ([PaymentMethod] ASC) +); + diff --git a/Vs-SqlProject/dbo/Tables/Products.sql b/Vs-SqlProject/dbo/Tables/Products.sql new file mode 100644 index 0000000..e9c11f5 --- /dev/null +++ b/Vs-SqlProject/dbo/Tables/Products.sql @@ -0,0 +1,11 @@ +CREATE TABLE [dbo].[Products] ( + [ProductId] INT IDENTITY (1, 1) NOT NULL, + [Name] NVARCHAR (500) NOT NULL, + [CategoryId] INT NOT NULL, + [Description] NVARCHAR (MAX) NULL, + [UnitPrice] MONEY NOT NULL, + [Stock] INT NOT NULL, + CONSTRAINT [PK_Products] PRIMARY KEY CLUSTERED ([ProductId] ASC), + CONSTRAINT [FK_Products_Categories] FOREIGN KEY ([CategoryId]) REFERENCES [dbo].[Categories] ([CategoryId]) +); + diff --git a/Vs-SqlProject/dbo/Views/CustomerOrders.sql b/Vs-SqlProject/dbo/Views/CustomerOrders.sql new file mode 100644 index 0000000..54822bc --- /dev/null +++ b/Vs-SqlProject/dbo/Views/CustomerOrders.sql @@ -0,0 +1,11 @@ +CREATE VIEW [dbo].[CustomerOrders] AS +( + SELECT c.CustomerId, c.Username, o.OrderId, o.DeliveryAddress, o.PaymentMethod + , SUM(p.UnitPrice * ol.Quantity) OVER ( PARTITION BY o.OrderId ) OrderTotal + , p.ProductId, p.Name ProductName, cat.Name CategoryName, p.UnitPrice, ol.Quantity, p.UnitPrice * ol.Quantity TotalPrice + FROM Customers c + INNER JOIN Orders o ON o.CustomerId = c.CustomerId + INNER JOIN OrderLines ol ON ol.OrderId = o.OrderId + INNER JOIN Products p ON p.ProductId = ol.ProductId + INNER JOIN Categories cat ON cat.CategoryId = p.CategoryId +) \ No newline at end of file From d172718293d4c34cb810cdb6341616a5579d81d5 Mon Sep 17 00:00:00 2001 From: Vincent Bourgeois Date: Mon, 16 May 2022 16:26:55 +0200 Subject: [PATCH 2/5] Added post deployment data --- Vs-SqlProject/Script.PostDeployment.sql | 14 ++++++++++++++ Vs-SqlProject/Vs-SqlProject.sqlproj | 9 +++++++++ Vs-SqlProject/data/dbo.categories.sql | 20 ++++++++++++++++++++ Vs-SqlProject/data/dbo.paymentMethods.sql | 9 +++++++++ Vs-SqlProject/data/dbo.products.sql | 19 +++++++++++++++++++ 5 files changed, 71 insertions(+) create mode 100644 Vs-SqlProject/Script.PostDeployment.sql create mode 100644 Vs-SqlProject/data/dbo.categories.sql create mode 100644 Vs-SqlProject/data/dbo.paymentMethods.sql create mode 100644 Vs-SqlProject/data/dbo.products.sql diff --git a/Vs-SqlProject/Script.PostDeployment.sql b/Vs-SqlProject/Script.PostDeployment.sql new file mode 100644 index 0000000..1828ae2 --- /dev/null +++ b/Vs-SqlProject/Script.PostDeployment.sql @@ -0,0 +1,14 @@ +/* +Post-Deployment Script Template +-------------------------------------------------------------------------------------- + This file contains SQL statements that will be appended to the build script. + Use SQLCMD syntax to include a file in the post-deployment script. + Example: :r .\myfile.sql + Use SQLCMD syntax to reference a variable in the post-deployment script. + Example: :setvar TableName MyTable + SELECT * FROM [$(TableName)] +-------------------------------------------------------------------------------------- +*/ +:r .\data\dbo.categories.sql +:r .\data\dbo.paymentMethods.sql +:r .\data\dbo.products.sql diff --git a/Vs-SqlProject/Vs-SqlProject.sqlproj b/Vs-SqlProject/Vs-SqlProject.sqlproj index 5392c7d..5036254 100644 --- a/Vs-SqlProject/Vs-SqlProject.sqlproj +++ b/Vs-SqlProject/Vs-SqlProject.sqlproj @@ -59,6 +59,7 @@ + @@ -68,5 +69,13 @@ + + + + + + + + \ No newline at end of file diff --git a/Vs-SqlProject/data/dbo.categories.sql b/Vs-SqlProject/data/dbo.categories.sql new file mode 100644 index 0000000..9ea249f --- /dev/null +++ b/Vs-SqlProject/data/dbo.categories.sql @@ -0,0 +1,20 @@ +SET IDENTITY_INSERT dbo.Categories ON +MERGE dbo.Categories as Target +USING( + VALUES (1, N'Computers'), + (2, N'Phones'), + (3, N'TV'), + (4, N'Minitels'), + (5, N'Cameras'), + (6, N'Audio'), + (7, N'Accessories'), + (8, N'DVD and Blu-rays') +) as source ([CategoryId], [Name]) +on Target.[CategoryId] = source.[CategoryId] +WHEN NOT MATCHED THEN + INSERT ([CategoryId], [Name]) VALUES (source.[CategoryId], source.[Name]) +WHEN MATCHED THEN + UPDATE SET [name] = source.[Name] +WHEN NOT MATCHED BY SOURCE THEN + DELETE; +SET IDENTITY_INSERT dbo.Categories OFF \ No newline at end of file diff --git a/Vs-SqlProject/data/dbo.paymentMethods.sql b/Vs-SqlProject/data/dbo.paymentMethods.sql new file mode 100644 index 0000000..095c404 --- /dev/null +++ b/Vs-SqlProject/data/dbo.paymentMethods.sql @@ -0,0 +1,9 @@ +MERGE dbo.PaymentMethods as Target +USING( + VALUES (N'Gold') +) as source ([PaymentMethod]) +on Target.[PaymentMethod] = source.[PaymentMethod] +WHEN NOT MATCHED THEN + INSERT ([PaymentMethod]) VALUES (source.[PaymentMethod]) +WHEN NOT MATCHED BY SOURCE THEN + DELETE; \ No newline at end of file diff --git a/Vs-SqlProject/data/dbo.products.sql b/Vs-SqlProject/data/dbo.products.sql new file mode 100644 index 0000000..010bb3c --- /dev/null +++ b/Vs-SqlProject/data/dbo.products.sql @@ -0,0 +1,19 @@ +SET IDENTITY_INSERT dbo.Products ON +MERGE dbo.Products as Target +USING( + VALUES + (2, N'Minitel 5 Matra', 4, N'Pour avoir ses notes de bac', 200.0000, 2198), + (3, N'Minitel 1b Telic Alcatel', 4, N'Pour consulter les horaires de train', 180.0000, 412), + (5, N'Coffret le Seigneur des Anneaux La trilogie', 8, N'https://fr.wikipedia.org/wiki/Le_Seigneur_des_anneaux', 89.9900, 561), + (6, N'Télé avec lecteur Blu-ray intégré', 3, NULL, 390.0000, 3) + +) as source ([ProductId], [Name], [CategoryId], [Description], [UnitPrice], [Stock]) +on Target.[ProductId] = source.[ProductId] +WHEN NOT MATCHED THEN + INSERT ([ProductId], [Name], [CategoryId], [Description], [UnitPrice], [Stock]) VALUES (source.[ProductId], source.[Name], source.[CategoryId], source.[Description], source.[UnitPrice], source.[Stock]) +WHEN MATCHED THEN + update set [Name] = source.[Name], [CategoryId] = source.[CategoryId], [Description] = source.[Description], [UnitPrice] = source.[UnitPrice], [Stock] = source.[Stock] +WHEN NOT MATCHED BY SOURCE THEN + DELETE; + +SET IDENTITY_INSERT dbo.Products OFF \ No newline at end of file From 4665aabaecc84a37eceb6d68b1e94fa387fd0d30 Mon Sep 17 00:00:00 2001 From: Vincent Bourgeois Date: Mon, 16 May 2022 16:31:11 +0200 Subject: [PATCH 3/5] Added data deployment --- README.md | 35 +++++++++++++----- Screenshots/launch_data_comparison.png | Bin 0 -> 23692 bytes Screenshots/launch_schemas_compare.png | Bin 0 -> 22941 bytes .../select_database_for_comparison.png | Bin 0 -> 53116 bytes Screenshots/select_project_for_comparison.png | Bin 0 -> 3855 bytes ...and_destination_for_schemas_comparison.png | Bin 0 -> 23238 bytes 6 files changed, 26 insertions(+), 9 deletions(-) create mode 100644 Screenshots/launch_data_comparison.png create mode 100644 Screenshots/launch_schemas_compare.png create mode 100644 Screenshots/select_database_for_comparison.png create mode 100644 Screenshots/select_project_for_comparison.png create mode 100644 Screenshots/source_and_destination_for_schemas_comparison.png diff --git a/README.md b/README.md index 2b95bc9..5ad3485 100644 --- a/README.md +++ b/README.md @@ -14,16 +14,33 @@ On a un site de eCommerce qui vend des ordinateurs. On veut ajouter un systéme ### Etat initial -* Récupérer le répo existant. -* Se positionner sur le tag "00-db-init" -* Raconter : - * Il y a un ensemble de scripts SQL versionnés par des timestamp qui servent à déployer la base - * On veut changer ça et avoir un vrai système moderne - * Exemple : - * on fait l'init de base avec "0-init-db.sql" - * on applique "20220516-AddOrderTotal.sql" +- Récupérer le répo existant. +- Se positionner sur le tag "00-db-init" +- Raconter : -* Lancer les 2 scripts d'init pour avoir la base de données existante + - Il y a un ensemble de scripts SQL versionnés par des timestamp qui servent à déployer la base + - On veut changer ça et avoir un vrai système moderne + - Exemple : + - on fait l'init de base avec "0-init-db.sql" + - on applique "20220516-AddOrderTotal.sql" + +- Lancer les 2 scripts d'init pour avoir la base de données existante On constate que le versioning git vaut é peu prés un versionning sur systéme de fichier. La procédure de déploiement demande de se rappeler de ce qui a été déployé ou pas, et s'assurer que tout est fait dans le bon ordre. + +- Créer un projet de base de données +- Lancer une comparaison de shémas avec la BDD existante +!()[./Screenshots/launch_schemas_compare.png] +!()[./Screenshots/select_database_for_comparison.png] +!()[./Screenshots/select_project_for_comparison.png] +!()[./Screenshots/source_and_destination_for_schemas_comparison.png] +- Mettre à jour le projet de base de données +- Lancer une comparaison de données: +!()[./Screenshots/launch_data_comparison.png] + - Repérer les tables référentiel. + - Créer des scripts d'insertion de données de référentiel +- Ajouter un script de post deployment + - Ajouter les scripts de données de référentiel +- Publier le projet sur une nouvelle BDD. +- comparer la base originale et la nouvelle base. diff --git a/Screenshots/launch_data_comparison.png b/Screenshots/launch_data_comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..04075296dfda1103a4cbbe49faceec97400e3628 GIT binary patch literal 23692 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 RK!Z4g{sR;3s{2l_{vWc+8jAn` literal 0 HcmV?d00001 diff --git a/Screenshots/launch_schemas_compare.png b/Screenshots/launch_schemas_compare.png new file mode 100644 index 0000000000000000000000000000000000000000..a15733e3f7f63ca0492cf2893498872ff5f8a50d GIT binary patch literal 22941 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 UsmRU)mdbdlikb@La^}JR1+`}_KL7v# literal 0 HcmV?d00001 diff --git a/Screenshots/select_database_for_comparison.png b/Screenshots/select_database_for_comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..b504c36f2750adcc478517b6060aa0181d404e26 GIT binary patch literal 53116 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 literal 0 HcmV?d00001 diff --git a/Screenshots/select_project_for_comparison.png b/Screenshots/select_project_for_comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..9979690f7dc0105ad912ce4d7639d4380d8684d0 GIT binary patch literal 3855 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 literal 0 HcmV?d00001 diff --git a/Screenshots/source_and_destination_for_schemas_comparison.png b/Screenshots/source_and_destination_for_schemas_comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..ead44bf44f8dccc13a561aaeb72781652f5ff471 GIT binary patch literal 23238 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 Date: Mon, 16 May 2022 16:36:28 +0200 Subject: [PATCH 4/5] fixed .md file --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 5ad3485..6601d3f 100644 --- a/README.md +++ b/README.md @@ -31,13 +31,13 @@ La procédure de déploiement demande de se rappeler de ce qui a été déployé - Créer un projet de base de données - Lancer une comparaison de shémas avec la BDD existante -!()[./Screenshots/launch_schemas_compare.png] -!()[./Screenshots/select_database_for_comparison.png] -!()[./Screenshots/select_project_for_comparison.png] -!()[./Screenshots/source_and_destination_for_schemas_comparison.png] + ![](./Screenshots/launch_schemas_compare.png) + ![](./Screenshots/select_database_for_comparison.png) + ![](./Screenshots/select_project_for_comparison.png) + ![](./Screenshots/source_and_destination_for_schemas_comparison.png) - Mettre à jour le projet de base de données - Lancer une comparaison de données: -!()[./Screenshots/launch_data_comparison.png] + ![](./Screenshots/launch_data_comparison.png) - Repérer les tables référentiel. - Créer des scripts d'insertion de données de référentiel - Ajouter un script de post deployment From efee656cbbc902382fc099591ca1db335899b46d Mon Sep 17 00:00:00 2001 From: Vincent Bourgeois Date: Mon, 16 May 2022 17:32:55 +0200 Subject: [PATCH 5/5] Added solution for product grades. --- Vs-SqlProject/Vs-SqlProject.sqlproj | 1 + Vs-SqlProject/dbo/Tables/Grades.sql | 9 +++++++++ 2 files changed, 10 insertions(+) create mode 100644 Vs-SqlProject/dbo/Tables/Grades.sql diff --git a/Vs-SqlProject/Vs-SqlProject.sqlproj b/Vs-SqlProject/Vs-SqlProject.sqlproj index 5036254..65e22c3 100644 --- a/Vs-SqlProject/Vs-SqlProject.sqlproj +++ b/Vs-SqlProject/Vs-SqlProject.sqlproj @@ -71,6 +71,7 @@ + diff --git a/Vs-SqlProject/dbo/Tables/Grades.sql b/Vs-SqlProject/dbo/Tables/Grades.sql new file mode 100644 index 0000000..4bb6d46 --- /dev/null +++ b/Vs-SqlProject/dbo/Tables/Grades.sql @@ -0,0 +1,9 @@ +CREATE TABLE [dbo].[Grades] +( + [ProductId] INT NOT NULL, + [CustomerId] INT NOT NULL, + [Grade] INT NOT NULL, + CONSTRAINT [PK_Grades] PRIMARY KEY ([CustomerId], [ProductId]), + CONSTRAINT [FK_Grades_Products] FOREIGN KEY ([ProductId]) REFERENCES [dbo].[Products] ([ProductId]), + CONSTRAINT [FK_Grades_Customers] FOREIGN KEY ([CustomerId]) REFERENCES [dbo].[Customers] ([CustomerId]) +)