Skip to content

Commit 9f585c3

Browse files
committed
TD-3711 Adding Last Accessed Columns To Tables
1 parent 5414198 commit 9f585c3

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
namespace DigitalLearningSolutions.Data.Migrations
2+
{
3+
using FluentMigrator;
4+
5+
[Migration(202503111500)]
6+
public class AddLastAccessedColumn : Migration
7+
{
8+
public override void Up()
9+
{
10+
Alter.Table("Users").AddColumn("LastAccessed").AsDateTime().Nullable();
11+
Alter.Table("DelegateAccounts").AddColumn("LastAccessed").AsDateTime().Nullable();
12+
Alter.Table("AdminAccounts").AddColumn("LastAccessed").AsDateTime().Nullable();
13+
14+
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;");
15+
Execute.Sql("UPDATE da SET LastAccessed = (SELECT MAX(s.LoginTime) FROM Sessions s WHERE s.CandidateId = da.ID) FROM DelegateAccounts da;");
16+
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;");
17+
Execute.Sql("UPDATE AA SET LastAccessed = (SELECT MAX(AdS.LoginTime) FROM AdminSessions AdS WHERE AdS.AdminID = AA.ID) FROM AdminAccounts AA;");
18+
}
19+
public override void Down()
20+
{
21+
Delete.Column("LastAccessed").FromTable("Competencies");
22+
Delete.Column("LastAccessed").FromTable("DelegateAccounts");
23+
Delete.Column("LastAccessed").FromTable("AdminAccounts");
24+
}
25+
}
26+
}

0 commit comments

Comments
 (0)