Skip to content

Commit 94dc9ec

Browse files
committed
TD-5286 Migration to add and populate the SelfAssessmentFrameworks and SelfAssessmentTaskStatus tables
1 parent 84d2763 commit 94dc9ec

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
namespace DigitalLearningSolutions.Data.Migrations
2+
{
3+
using FluentMigrator;
4+
using FluentMigrator.SqlServer;
5+
[Migration(202501280929)]
6+
public class CreateCompetencyAssessmentTables : Migration
7+
{
8+
public override void Up()
9+
{
10+
Create.Table("SelfAssessmentFrameworks")
11+
.WithColumn("ID").AsInt32().NotNullable().PrimaryKey().Identity()
12+
.WithColumn("SelfAssessmentId").AsInt32().NotNullable().ForeignKey("SelfAssessments", "ID")
13+
.WithColumn("FrameworkId").AsInt32().NotNullable().ForeignKey("Frameworks", "ID")
14+
.WithColumn("CreatedDate").AsDateTime().NotNullable().WithDefault(SystemMethods.CurrentDateTime)
15+
.WithColumn("CreatedByUserId").AsInt32().NotNullable().ForeignKey("Users", "ID")
16+
.WithColumn("RemovedDate").AsDateTime().Nullable()
17+
.WithColumn("RemovedByUserId").AsInt32().Nullable().ForeignKey("Users", "ID")
18+
.WithColumn("AmendedDate").AsDateTime().Nullable()
19+
.WithColumn("AmendedByUserId").AsInt32().Nullable().ForeignKey("Users", "ID");
20+
Create.Table("SelfAssessmentTaskStatus")
21+
.WithColumn("ID").AsInt32().NotNullable().PrimaryKey().Identity()
22+
.WithColumn("SelfAssessmentId").AsInt32().NotNullable().ForeignKey("SelfAssessments", "ID").Unique()
23+
.WithColumn("IntroductoryTextTaskStatus").AsBoolean().Nullable()
24+
.WithColumn("BrandingTaskStatus").AsBoolean().Nullable()
25+
.WithColumn("VocabularyTaskStatus").AsBoolean().Nullable()
26+
.WithColumn("WorkingGroupTaskStatus").AsBoolean().Nullable()
27+
.WithColumn("NationalRoleProfileTaskStatus").AsBoolean().Nullable()
28+
.WithColumn("FrameworkLinksTaskStatus").AsBoolean().Nullable()
29+
.WithColumn("SelectCompetenciesTaskStatus").AsBoolean().Nullable()
30+
.WithColumn("OptionalCompetenciesTaskStatus").AsBoolean().Nullable()
31+
.WithColumn("RoleRequirementsTaskStatus").AsBoolean().Nullable()
32+
.WithColumn("SupervisorRolesTaskStatus").AsBoolean().Nullable()
33+
.WithColumn("SelfAssessmentOptionsTaskStatus").AsBoolean().Nullable()
34+
.WithColumn("ReviewTaskStatus").AsBoolean().Nullable();
35+
Execute.Sql($@"INSERT INTO SelfAssessmentFrameworks (SelfAssessmentId, FrameworkId, CreatedByUserId)
36+
SELECT sa.ID, fc.FrameworkID, aa.UserID
37+
FROM SelfAssessments AS sa INNER JOIN
38+
SelfAssessmentStructure AS sas ON sa.ID = sas.SelfAssessmentID INNER JOIN
39+
FrameworkCompetencies AS fc ON sas.CompetencyID = fc.CompetencyID INNER JOIN
40+
AdminAccounts AS aa ON sa.CreatedByAdminID = aa.ID
41+
GROUP BY sa.ID, fc.FrameworkID, aa.UserID
42+
");
43+
Execute.Sql($@"INSERT INTO SelfAssessmentTaskStatus (SelfAssessmentId, IntroductoryTextTaskStatus, BrandingTaskStatus, VocabularyTaskStatus, WorkingGroupTaskStatus, NationalRoleProfileTaskStatus, FrameworkLinksTaskStatus, SelectCompetenciesTaskStatus, OptionalCompetenciesTaskStatus, RoleRequirementsTaskStatus, SupervisorRolesTaskStatus, SelfAssessmentOptionsTaskStatus)
44+
SELECT ID, 1,1,1,1,1,1,1,1,1,1,1
45+
FROM SelfAssessments AS sa
46+
");
47+
}
48+
49+
public override void Down()
50+
{
51+
Delete.Table("SelfAssessmentFrameworks");
52+
Delete.Table("SelfAssessmentTaskStatus");
53+
}
54+
55+
}
56+
}

0 commit comments

Comments
 (0)