source: FarmatikoData/Migrations/20210208041424_Initial-Create.cs

Last change on this file was e0cdea2, checked in by Dimitar Slezenkovski <dslezenkovski@…>, 3 years ago

Fix all bugs

  • Property mode set to 100644
File size: 13.0 KB
RevLine 
[a8ccc2c]1using System;
2using Microsoft.EntityFrameworkCore.Migrations;
3using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
4
5namespace FarmatikoData.Migrations
6{
[e0cdea2]7 public partial class InitialCreate : Migration
[a8ccc2c]8 {
9 protected override void Up(MigrationBuilder migrationBuilder)
10 {
11 migrationBuilder.CreateTable(
12 name: "HealthFacilities",
13 columns: table => new
14 {
15 Id = table.Column<int>(nullable: false)
[8e74e2f]16 .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn),
[0a694bb]17 CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql:"now()"),
[d2e69be]18 DeletedOn = table.Column<DateTime>(nullable: true),
[a8ccc2c]19 Name = table.Column<string>(nullable: false),
20 Municipality = table.Column<string>(nullable: false),
21 Address = table.Column<string>(nullable: false),
22 Type = table.Column<string>(nullable: false),
23 Email = table.Column<string>(nullable: true),
24 Phone = table.Column<string>(nullable: true)
25 },
[d23bf72]26 constraints: table =>
[a8ccc2c]27 {
28 table.PrimaryKey("PK_HealthFacilities", x => x.Id);
29 });
30
31 migrationBuilder.CreateTable(
[db484c9]32 name: "Medicines",
[a8ccc2c]33 columns: table => new
34 {
35 Id = table.Column<int>(nullable: false)
[8e74e2f]36 .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn),
[1db5673]37 CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
[d2e69be]38 DeletedOn = table.Column<DateTime>(nullable: true),
[d23bf72]39 Name = table.Column<string>(nullable: false),
[db484c9]40 Strength = table.Column<string>(nullable: false),
41 Form = table.Column<string>(nullable: true),
42 WayOfIssuing = table.Column<string>(nullable: false),
43 Manufacturer = table.Column<string>(nullable: false),
44 Price = table.Column<float>(nullable: false),
45 Packaging = table.Column<string>(nullable: true)
[a8ccc2c]46 },
47 constraints: table =>
48 {
[db484c9]49 table.PrimaryKey("PK_Medicines", x => x.Id);
[a8ccc2c]50 });
51
52 migrationBuilder.CreateTable(
[db484c9]53 name: "Pandemics",
[a8ccc2c]54 columns: table => new
55 {
56 Id = table.Column<int>(nullable: false)
[8e74e2f]57 .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn),
[1db5673]58 CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
[d2e69be]59 DeletedOn = table.Column<DateTime>(nullable: true),
[a8ccc2c]60 Name = table.Column<string>(nullable: false),
[db484c9]61 TotalMK = table.Column<int>(nullable: false),
62 ActiveMK = table.Column<int>(nullable: false),
63 DeathsMK = table.Column<int>(nullable: false),
64 NewMK = table.Column<int>(nullable: false),
65 TotalGlobal = table.Column<long>(nullable: false),
66 DeathsGlobal = table.Column<long>(nullable: false),
67 ActiveGlobal = table.Column<long>(nullable: false)
[a8ccc2c]68 },
69 constraints: table =>
70 {
[db484c9]71 table.PrimaryKey("PK_Pandemics", x => x.Id);
[a8ccc2c]72 });
73
74 migrationBuilder.CreateTable(
[d23bf72]75 name: "Users",
[a8ccc2c]76 columns: table => new
77 {
78 Id = table.Column<int>(nullable: false)
[8e74e2f]79 .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn),
[1db5673]80 CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
[d2e69be]81 DeletedOn = table.Column<DateTime>(nullable: true),
[1db5673]82 Name = table.Column<string>(nullable: false),
83 Email = table.Column<string>(nullable: false),
84 Password = table.Column<string>(nullable: false),
[d23bf72]85 UserRole = table.Column<int>(nullable: false)
[a8ccc2c]86 },
87 constraints: table =>
88 {
[d23bf72]89 table.PrimaryKey("PK_Users", x => x.Id);
[a8ccc2c]90 });
91
92 migrationBuilder.CreateTable(
[d23bf72]93 name: "HealthcareWorkers",
[a8ccc2c]94 columns: table => new
95 {
96 Id = table.Column<int>(nullable: false)
[8e74e2f]97 .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn),
[1db5673]98 CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
[d2e69be]99 DeletedOn = table.Column<DateTime>(nullable: true),
[d23bf72]100 Name = table.Column<string>(nullable: false),
101 Branch = table.Column<string>(nullable: false),
102 FacilityId = table.Column<int>(nullable: false),
103 Title = table.Column<string>(nullable: true)
[a8ccc2c]104 },
105 constraints: table =>
106 {
[d23bf72]107 table.PrimaryKey("PK_HealthcareWorkers", x => x.Id);
108 table.ForeignKey(
109 name: "FK_HealthcareWorkers_HealthFacilities_FacilityId",
110 column: x => x.FacilityId,
111 principalTable: "HealthFacilities",
112 principalColumn: "Id",
113 onDelete: ReferentialAction.Cascade);
[a8ccc2c]114 });
115
116 migrationBuilder.CreateTable(
[db484c9]117 name: "PharmacyHeads",
[a8ccc2c]118 columns: table => new
119 {
120 Id = table.Column<int>(nullable: false)
[8e74e2f]121 .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn),
[1db5673]122 CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
[d2e69be]123 DeletedOn = table.Column<DateTime>(nullable: true),
[db484c9]124 Email = table.Column<string>(nullable: false),
[1db5673]125 Name = table.Column<string>(nullable: false),
[db484c9]126 Password = table.Column<string>(nullable: false),
[0a694bb]127 UserID = table.Column<int>(nullable: false)
[a8ccc2c]128 },
129 constraints: table =>
130 {
[db484c9]131 table.PrimaryKey("PK_PharmacyHeads", x => x.Id);
[a8ccc2c]132 table.ForeignKey(
[0a694bb]133 name: "FK_PharmacyHeads_Users_UserID",
134 column: x => x.UserID,
[db484c9]135 principalTable: "Users",
[a8ccc2c]136 principalColumn: "Id",
[0a694bb]137 onDelete: ReferentialAction.Cascade);
[a8ccc2c]138 });
139
140 migrationBuilder.CreateTable(
141 name: "Pharmacies",
142 columns: table => new
143 {
144 Id = table.Column<int>(nullable: false)
[8e74e2f]145 .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn),
146 CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
[d2e69be]147 DeletedOn = table.Column<DateTime>(nullable: true),
[d23bf72]148 Name = table.Column<string>(nullable: false),
149 Location = table.Column<string>(nullable: false),
150 Address = table.Column<string>(nullable: false),
[a8ccc2c]151 WorkAllTime = table.Column<bool>(nullable: false),
[e0cdea2]152 PheadId = table.Column<int>(nullable: true)
[a8ccc2c]153 },
154 constraints: table =>
155 {
156 table.PrimaryKey("PK_Pharmacies", x => x.Id);
157 table.ForeignKey(
[e0cdea2]158 name: "FK_Pharmacies_PharmacyHeads_PheadId",
159 column: x => x.PheadId,
[a8ccc2c]160 principalTable: "PharmacyHeads",
161 principalColumn: "Id",
[db484c9]162 onDelete: ReferentialAction.Restrict);
[1db5673]163 });
164
165 migrationBuilder.CreateTable(
166 name: "PharmacyHeadMedicines",
167 columns: table => new
168 {
[db484c9]169 Id = table.Column<int>(nullable: false)
170 .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn),
[1db5673]171 CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
[db484c9]172 DeletedOn = table.Column<DateTime>(nullable: true),
[0a694bb]173 PheadId = table.Column<int>(nullable: false),
[db484c9]174 HeadId = table.Column<int>(nullable: true),
[0a694bb]175 MedicineId = table.Column<int>(nullable: false)
[1db5673]176 },
177 constraints: table =>
178 {
[db484c9]179 table.PrimaryKey("PK_PharmacyHeadMedicines", x => x.Id);
180 table.ForeignKey(
181 name: "FK_PharmacyHeadMedicines_PharmacyHeads_HeadId",
182 column: x => x.HeadId,
183 principalTable: "PharmacyHeads",
184 principalColumn: "Id",
185 onDelete: ReferentialAction.Restrict);
[1db5673]186 table.ForeignKey(
187 name: "FK_PharmacyHeadMedicines_Medicines_MedicineId",
188 column: x => x.MedicineId,
189 principalTable: "Medicines",
190 principalColumn: "Id",
191 onDelete: ReferentialAction.Cascade);
[a8ccc2c]192 });
193
[d23bf72]194 migrationBuilder.CreateTable(
195 name: "PHRequests",
196 columns: table => new
197 {
198 Id = table.Column<int>(nullable: false)
[8e74e2f]199 .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn),
[1db5673]200 CreatedOn = table.Column<DateTime>(nullable: false, defaultValueSql: "now()"),
[d23bf72]201 DeletedOn = table.Column<DateTime>(nullable: true),
[e0cdea2]202 HeadId = table.Column<int>(nullable: true),
203 PharmacyId = table.Column<int>(nullable: true)
[d23bf72]204 },
205 constraints: table =>
206 {
207 table.PrimaryKey("PK_PHRequests", x => x.Id);
208 table.ForeignKey(
209 name: "FK_PHRequests_PharmacyHeads_HeadId",
210 column: x => x.HeadId,
211 principalTable: "PharmacyHeads",
212 principalColumn: "Id",
[e0cdea2]213 onDelete: ReferentialAction.Restrict);
[d23bf72]214 table.ForeignKey(
215 name: "FK_PHRequests_Pharmacies_PharmacyId",
216 column: x => x.PharmacyId,
217 principalTable: "Pharmacies",
218 principalColumn: "Id",
[e0cdea2]219 onDelete: ReferentialAction.Restrict);
[d23bf72]220 });
221
[a8ccc2c]222 migrationBuilder.CreateIndex(
223 name: "IX_HealthcareWorkers_FacilityId",
224 table: "HealthcareWorkers",
225 column: "FacilityId");
226
227 migrationBuilder.CreateIndex(
[e0cdea2]228 name: "IX_Pharmacies_PheadId",
[db484c9]229 table: "Pharmacies",
[e0cdea2]230 column: "PheadId");
[a8ccc2c]231
232 migrationBuilder.CreateIndex(
[db484c9]233 name: "IX_PharmacyHeadMedicines_HeadId",
234 table: "PharmacyHeadMedicines",
235 column: "HeadId");
[1db5673]236
237 migrationBuilder.CreateIndex(
238 name: "IX_PharmacyHeadMedicines_MedicineId",
239 table: "PharmacyHeadMedicines",
240 column: "MedicineId");
[a8ccc2c]241
[db484c9]242 migrationBuilder.CreateIndex(
[0a694bb]243 name: "IX_PharmacyHeads_UserID",
[db484c9]244 table: "PharmacyHeads",
[0a694bb]245 column: "UserID");
[db484c9]246
[a8ccc2c]247 migrationBuilder.CreateIndex(
[d23bf72]248 name: "IX_PHRequests_HeadId",
249 table: "PHRequests",
250 column: "HeadId");
[a8ccc2c]251
252 migrationBuilder.CreateIndex(
[d23bf72]253 name: "IX_PHRequests_PharmacyId",
254 table: "PHRequests",
255 column: "PharmacyId");
[a8ccc2c]256 }
257
258 protected override void Down(MigrationBuilder migrationBuilder)
259 {
[d23bf72]260 migrationBuilder.DropTable(
261 name: "HealthcareWorkers");
[a8ccc2c]262
[d23bf72]263 migrationBuilder.DropTable(
[1db5673]264 name: "Pandemics");
[a8ccc2c]265
[d23bf72]266 migrationBuilder.DropTable(
[1db5673]267 name: "PharmacyHeadMedicines");
[a8ccc2c]268
269 migrationBuilder.DropTable(
[d23bf72]270 name: "PHRequests");
[a8ccc2c]271
272 migrationBuilder.DropTable(
273 name: "HealthFacilities");
274
275 migrationBuilder.DropTable(
276 name: "Medicines");
277
278 migrationBuilder.DropTable(
279 name: "Pharmacies");
280
281 migrationBuilder.DropTable(
[d23bf72]282 name: "PharmacyHeads");
[db484c9]283
284 migrationBuilder.DropTable(
285 name: "Users");
[a8ccc2c]286 }
287 }
288}
Note: See TracBrowser for help on using the repository browser.