From 9f585c383dc7735d8360a5a0dce5bab6d2501367 Mon Sep 17 00:00:00 2001 From: Rohit Shrivastava Date: Tue, 11 Mar 2025 21:55:02 +0000 Subject: [PATCH 1/2] TD-3711 Adding Last Accessed Columns To Tables --- .../202503111500_AddLastAccessedColumn.cs | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 DigitalLearningSolutions.Data.Migrations/202503111500_AddLastAccessedColumn.cs diff --git a/DigitalLearningSolutions.Data.Migrations/202503111500_AddLastAccessedColumn.cs b/DigitalLearningSolutions.Data.Migrations/202503111500_AddLastAccessedColumn.cs new file mode 100644 index 0000000000..f17a33bb19 --- /dev/null +++ b/DigitalLearningSolutions.Data.Migrations/202503111500_AddLastAccessedColumn.cs @@ -0,0 +1,26 @@ +namespace DigitalLearningSolutions.Data.Migrations +{ + using FluentMigrator; + + [Migration(202503111500)] + public class AddLastAccessedColumn : Migration + { + public override void Up() + { + Alter.Table("Users").AddColumn("LastAccessed").AsDateTime().Nullable(); + Alter.Table("DelegateAccounts").AddColumn("LastAccessed").AsDateTime().Nullable(); + Alter.Table("AdminAccounts").AddColumn("LastAccessed").AsDateTime().Nullable(); + + Execute.Sql("UPDATE u SET LastAccessed = (SELECT MAX(s.LoginTime) FROM DelegateAccounts da JOIN Sessions s ON da.ID = s.CandidateId WHERE da.UserID = u.ID) FROM users u;"); + Execute.Sql("UPDATE da SET LastAccessed = (SELECT MAX(s.LoginTime) FROM Sessions s WHERE s.CandidateId = da.ID) FROM DelegateAccounts da;"); + Execute.Sql("UPDATE da SET LastAccessed = (SELECT ca.LastAccessed FROM CandidateAssessments ca WHERE ca.ID = da.ID) FROM DelegateAccounts da where da.LastAccessed IS NULL;"); + Execute.Sql("UPDATE AA SET LastAccessed = (SELECT MAX(AdS.LoginTime) FROM AdminSessions AdS WHERE AdS.AdminID = AA.ID) FROM AdminAccounts AA;"); + } + public override void Down() + { + Delete.Column("LastAccessed").FromTable("Competencies"); + Delete.Column("LastAccessed").FromTable("DelegateAccounts"); + Delete.Column("LastAccessed").FromTable("AdminAccounts"); + } + } +} From 527973e5615ea36282903e00f6ae6ff8eefbcf75 Mon Sep 17 00:00:00 2001 From: Rohit Shrivastava Date: Wed, 12 Mar 2025 14:59:04 +0000 Subject: [PATCH 2/2] TD-3711 Correcting table name --- .../202503111500_AddLastAccessedColumn.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DigitalLearningSolutions.Data.Migrations/202503111500_AddLastAccessedColumn.cs b/DigitalLearningSolutions.Data.Migrations/202503111500_AddLastAccessedColumn.cs index f17a33bb19..95a0eb6020 100644 --- a/DigitalLearningSolutions.Data.Migrations/202503111500_AddLastAccessedColumn.cs +++ b/DigitalLearningSolutions.Data.Migrations/202503111500_AddLastAccessedColumn.cs @@ -18,7 +18,7 @@ public override void Up() } public override void Down() { - Delete.Column("LastAccessed").FromTable("Competencies"); + Delete.Column("LastAccessed").FromTable("Users"); Delete.Column("LastAccessed").FromTable("DelegateAccounts"); Delete.Column("LastAccessed").FromTable("AdminAccounts"); }