3 namespace KlusterKite.NodeManager.ConfigurationSource.Migrations
6 using System.Diagnostics.CodeAnalysis;
8 using Microsoft.EntityFrameworkCore.Migrations;
13 [SuppressMessage(
"ReSharper",
"ArgumentsStyleStringLiteral")]
14 [SuppressMessage(
"ReSharper",
"RedundantArgumentDefaultValue")]
18 protected override void Down(MigrationBuilder migrationBuilder)
20 migrationBuilder.DropTable(name:
"CompatibleTemplate");
22 migrationBuilder.DropTable(name:
"MigrationLogRecords");
24 migrationBuilder.DropTable(name:
"RoleUsers");
26 migrationBuilder.DropTable(name:
"Migrations");
28 migrationBuilder.DropTable(name:
"Roles");
30 migrationBuilder.DropTable(name:
"Users");
32 migrationBuilder.DropTable(name:
"Configurations");
36 protected override void Up(MigrationBuilder migrationBuilder)
38 migrationBuilder.CreateTable(
39 name:
"Configurations",
42 Id = table.Column<
int>(type:
"serial", nullable:
false),
43 Created = table.Column<DateTimeOffset>(nullable:
false),
44 Finished = table.Column<DateTimeOffset>(nullable:
true),
45 IsStable = table.Column<
bool>(nullable:
false),
46 MajorVersion = table.Column<
int>(nullable:
false),
47 MinorVersion = table.Column<
int>(nullable:
false),
48 Name = table.Column<
string>(nullable:
true),
49 Notes = table.Column<
string>(nullable:
true),
50 SettingsJson = table.Column<
string>(nullable:
true),
51 Started = table.Column<DateTimeOffset>(nullable:
true),
52 State = table.Column<
int>(nullable:
false)
54 constraints: table => { table.PrimaryKey(
"PK_Configurations", x => x.Id); });
56 migrationBuilder.CreateTable(
60 Uid = table.Column<
Guid>(nullable:
false),
61 AllowedScopeJson = table.Column<
string>(nullable:
true),
62 DeniedScopeJson = table.Column<
string>(nullable:
true),
63 Name = table.Column<
string>(nullable:
true)
65 constraints: table => { table.PrimaryKey(
"PK_Roles", x => x.Uid); });
67 migrationBuilder.CreateTable(
71 Uid = table.Column<
Guid>(nullable:
false),
72 ActiveTill = table.Column<DateTimeOffset>(nullable:
true),
73 BlockedTill = table.Column<DateTimeOffset>(nullable:
true),
74 IsBlocked = table.Column<
bool>(nullable:
false),
75 IsDeleted = table.Column<
bool>(nullable:
false),
76 Login = table.Column<
string>(nullable:
true),
77 Password = table.Column<
string>(nullable:
true)
79 constraints: table => { table.PrimaryKey(
"PK_Users", x => x.Uid); });
81 migrationBuilder.CreateTable(
82 name:
"CompatibleTemplate",
85 Id = table.Column<
int>(type:
"serial", nullable:
false),
86 CompatibleConfigurationId = table.Column<
int>(nullable:
false),
87 ConfigurationId = table.Column<
int>(nullable:
false),
88 TemplateCode = table.Column<
string>(nullable:
true)
92 table.PrimaryKey(
"PK_CompatibleTemplate", x => x.Id);
94 name:
"FK_CompatibleTemplate_Configurations_CompatibleConfigurationId",
95 column: x => x.CompatibleConfigurationId,
96 principalTable:
"Configurations",
97 principalColumn:
"Id",
98 onDelete: ReferentialAction.Cascade);
100 name:
"FK_CompatibleTemplate_Configurations_ConfigurationId",
101 column: x => x.ConfigurationId,
102 principalTable:
"Configurations",
103 principalColumn:
"Id",
104 onDelete: ReferentialAction.Cascade);
107 migrationBuilder.CreateTable(
109 columns: table =>
new 111 Id = table.Column<
int>(type:
"serial", nullable:
false),
112 Finished = table.Column<DateTimeOffset>(nullable:
true),
113 FromConfigurationId = table.Column<
int>(nullable:
false),
114 IsActive = table.Column<
bool>(nullable:
false),
115 Started = table.Column<DateTimeOffset>(nullable:
false),
116 State = table.Column<
int>(nullable:
false),
117 ToConfigurationId = table.Column<
int>(nullable:
false)
119 constraints: table =>
121 table.PrimaryKey(
"PK_Migrations", x => x.Id);
123 name:
"FK_Migrations_Configurations_FromConfigurationId",
124 column: x => x.FromConfigurationId,
125 principalTable:
"Configurations",
126 principalColumn:
"Id",
127 onDelete: ReferentialAction.Cascade);
129 name:
"FK_Migrations_Configurations_ToConfigurationId",
130 column: x => x.ToConfigurationId,
131 principalTable:
"Configurations",
132 principalColumn:
"Id",
133 onDelete: ReferentialAction.Cascade);
136 migrationBuilder.CreateTable(
138 columns: table =>
new 140 UserUid = table.Column<
Guid>(nullable:
false),
141 RoleUid = table.Column<
Guid>(nullable:
false),
142 Id = table.Column<
int>(type:
"serial", nullable:
false)
144 constraints: table =>
146 table.PrimaryKey(
"PK_RoleUsers", x =>
new { x.UserUid, x.RoleUid });
147 table.UniqueConstraint(
"AK_RoleUsers_Id", x => x.Id);
149 name:
"FK_RoleUsers_Roles_RoleUid",
150 column: x => x.RoleUid,
151 principalTable:
"Roles",
152 principalColumn:
"Uid",
153 onDelete: ReferentialAction.Cascade);
155 name:
"FK_RoleUsers_Users_UserUid",
156 column: x => x.UserUid,
157 principalTable:
"Users",
158 principalColumn:
"Uid",
159 onDelete: ReferentialAction.Cascade);
162 migrationBuilder.CreateTable(
163 name:
"MigrationLogRecords",
164 columns: table =>
new 166 Id = table.Column<
int>(type:
"serial", nullable:
false),
167 ConfigurationId = table.Column<
int>(nullable:
false),
168 DestinationPoint = table.Column<
string>(nullable:
true),
169 ErrorStackTrace = table.Column<
string>(nullable:
true),
170 Finished = table.Column<DateTimeOffset>(nullable:
true),
171 Message = table.Column<
string>(nullable:
true),
172 MigrationId = table.Column<
int>(nullable:
true),
173 MigratorName = table.Column<
string>(nullable:
true),
174 MigratorTemplateCode = table.Column<
string>(nullable:
true),
175 MigratorTemplateName = table.Column<
string>(nullable:
true),
176 MigratorTypeName = table.Column<
string>(nullable:
true),
177 ResourceCode = table.Column<
string>(nullable:
true),
178 ResourceName = table.Column<
string>(nullable:
true),
179 SourcePoint = table.Column<
string>(nullable:
true),
180 Started = table.Column<DateTimeOffset>(nullable:
false),
181 Type = table.Column<
int>(nullable:
false)
183 constraints: table =>
185 table.PrimaryKey(
"PK_MigrationLogRecords", x => x.Id);
187 name:
"FK_MigrationLogRecords_Configurations_ConfigurationId",
188 column: x => x.ConfigurationId,
189 principalTable:
"Configurations",
190 principalColumn:
"Id",
191 onDelete: ReferentialAction.Cascade);
193 name:
"FK_MigrationLogRecords_Migrations_MigrationId",
194 column: x => x.MigrationId,
195 principalTable:
"Migrations",
196 principalColumn:
"Id",
197 onDelete: ReferentialAction.Restrict);
200 migrationBuilder.CreateIndex(
201 name:
"IX_CompatibleTemplate_CompatibleConfigurationId",
202 table:
"CompatibleTemplate",
203 column:
"CompatibleConfigurationId");
205 migrationBuilder.CreateIndex(
206 name:
"IX_CompatibleTemplate_ConfigurationId",
207 table:
"CompatibleTemplate",
208 column:
"ConfigurationId");
210 migrationBuilder.CreateIndex(
211 name:
"IX_Migrations_FromConfigurationId",
213 column:
"FromConfigurationId");
215 migrationBuilder.CreateIndex(
216 name:
"IX_Migrations_ToConfigurationId",
218 column:
"ToConfigurationId");
220 migrationBuilder.CreateIndex(
221 name:
"IX_MigrationLogRecords_ConfigurationId",
222 table:
"MigrationLogRecords",
223 column:
"ConfigurationId");
225 migrationBuilder.CreateIndex(
226 name:
"IX_MigrationLogRecords_MigrationId",
227 table:
"MigrationLogRecords",
228 column:
"MigrationId");
230 migrationBuilder.CreateIndex(name:
"IX_RoleUsers_RoleUid", table:
"RoleUsers", column:
"RoleUid");
232 migrationBuilder.CreateIndex(name:
"IX_Users_Login", table:
"Users", column:
"Login");
override void Down(MigrationBuilder migrationBuilder)
override void Up(MigrationBuilder migrationBuilder)
The initial database configuration
The history record describing cluster migration