From 2134fd996770c3cb1ece20613d49293dcc36dbd8 Mon Sep 17 00:00:00 2001 From: Auldrin Possa Date: Wed, 9 Oct 2024 16:04:34 +0100 Subject: [PATCH] TD-4785-Set the Removed date as the current date for old duplicate rows in the table --- ...idateAssessmentSupervisorsDuplicateRows.cs | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 DigitalLearningSolutions.Data.Migrations/202410091524_UpdateCandidateAssessmentSupervisorsDuplicateRows.cs diff --git a/DigitalLearningSolutions.Data.Migrations/202410091524_UpdateCandidateAssessmentSupervisorsDuplicateRows.cs b/DigitalLearningSolutions.Data.Migrations/202410091524_UpdateCandidateAssessmentSupervisorsDuplicateRows.cs new file mode 100644 index 0000000000..c17179482c --- /dev/null +++ b/DigitalLearningSolutions.Data.Migrations/202410091524_UpdateCandidateAssessmentSupervisorsDuplicateRows.cs @@ -0,0 +1,24 @@ +namespace DigitalLearningSolutions.Data.Migrations +{ + using FluentMigrator; + + [Migration(202410091524)] + public class UpdateCandidateAssessmentSupervisorsDuplicateRows : ForwardOnlyMigration + { + public override void Up() + { + Execute.Sql(@$"WITH CAS_Duplicates AS ( + SELECT ID, + ROW_NUMBER() OVER (PARTITION BY CandidateAssessmentID,SupervisorDelegateId ORDER BY Id DESC) AS RowNum + FROM CandidateAssessmentSupervisors + WHERE CandidateAssessmentSupervisors.Removed is null + ) + UPDATE CandidateAssessmentSupervisors + SET Removed = GETUTCDATE() + FROM CandidateAssessmentSupervisors cas INNER JOIN + CAS_Duplicates casd ON cas.ID = casd.ID + WHERE casd.RowNum > 1;"); + } + + } +}