-
Notifications
You must be signed in to change notification settings - Fork 2
/
Migrations.cs
61 lines (52 loc) · 1.91 KB
/
Migrations.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
using Cascade.Poll.Models;
using Orchard.ContentManagement.MetaData;
using Orchard.Core.Contents.Extensions;
using Orchard.Data.Migration;
using System;
namespace Cascade.Poll {
public class Migrations : DataMigrationImpl {
public int Create() {
// Creating table PollHolderRecord
SchemaBuilder.CreateTable("PollHolderRecord", table => table
.ContentPartRecord()
.Column<int>("PollId")
);
// Creating table PollRecord
SchemaBuilder.CreateTable("PollRecord", table => table
.Column<int>("Id", column => column.PrimaryKey().Identity())
.Column<string>("Question")
.Column<DateTime>("StartDate",column => column.Nullable())
.Column<DateTime>("EndDate", column => column.Nullable())
.Column<string>("PollState")
.Column<int>("MaxAnswers")
);
// Creating table PollLogRecord
SchemaBuilder.CreateTable("PollLogRecord", table => table
.Column<int>("Id", column => column.PrimaryKey().Identity())
.Column<DateTime>("VoteDate")
.Column<string>("UserDetail")
.Column<int>("PollRecord_id")
);
// Creating table PollAnswerRecord
SchemaBuilder.CreateTable("PollAnswerRecord", table => table
.Column<int>("Id", column => column.PrimaryKey().Identity())
.Column<string>("Answer")
.Column<int>("Votes")
.Column<int>("PollRecord_id")
);
return 1;
}
public int UpdateFrom1()
{
ContentDefinitionManager.AlterPartDefinition(
typeof(PollPart).Name, cfg => cfg.Attachable());
// Create a new widget content type with our poll
ContentDefinitionManager.AlterTypeDefinition("PollWidget", cfg => cfg
.WithPart(typeof(PollPart).Name)
.WithPart("CommonPart")
.WithPart("WidgetPart")
.WithSetting("Stereotype", "Widget"));
return 2;
}
}
}