using System; using Microsoft.EntityFrameworkCore.Migrations; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; namespace FarmatikoData.Migrations { public partial class Initialmigration : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "HealthFacilities", columns: table => new { Id = table.Column(nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), CreatedOn = table.Column(nullable: false), DeletedOn = table.Column(nullable: false), Name = table.Column(nullable: false), Municipality = table.Column(nullable: false), Address = table.Column(nullable: false), Type = table.Column(nullable: false), Email = table.Column(nullable: true), Phone = table.Column(nullable: true) }, constraints: table => { table.PrimaryKey("PK_HealthFacilities", x => x.Id); }); migrationBuilder.CreateTable( name: "Pandemics", columns: table => new { Id = table.Column(nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), CreatedOn = table.Column(nullable: false), DeletedOn = table.Column(nullable: false), Name = table.Column(nullable: true), TotalMK = table.Column(nullable: false), ActiveMK = table.Column(nullable: false), DeathsMK = table.Column(nullable: false), NewMK = table.Column(nullable: false), TotalGlobal = table.Column(nullable: false), DeathsGlobal = table.Column(nullable: false), ActiveGlobal = table.Column(nullable: false) }, constraints: table => { table.PrimaryKey("PK_Pandemics", x => x.Id); }); migrationBuilder.CreateTable( name: "HealthcareWorkers", columns: table => new { Id = table.Column(nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), CreatedOn = table.Column(nullable: false), DeletedOn = table.Column(nullable: false), Name = table.Column(nullable: false), Branch = table.Column(nullable: false), FacilityId = table.Column(nullable: false), Title = table.Column(nullable: true) }, constraints: table => { table.PrimaryKey("PK_HealthcareWorkers", x => x.Id); table.ForeignKey( name: "FK_HealthcareWorkers_HealthFacilities_FacilityId", column: x => x.FacilityId, principalTable: "HealthFacilities", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Medicines", columns: table => new { Id = table.Column(nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), CreatedOn = table.Column(nullable: false), DeletedOn = table.Column(nullable: false), Name = table.Column(nullable: true), Strength = table.Column(nullable: true), Form = table.Column(nullable: true), WayOfIssuing = table.Column(nullable: true), Manufacturer = table.Column(nullable: true), Price = table.Column(nullable: false), Packaging = table.Column(nullable: true), MedicineListId = table.Column(nullable: true) }, constraints: table => { table.PrimaryKey("PK_Medicines", x => x.Id); }); migrationBuilder.CreateTable( name: "PharmacyHeads", columns: table => new { Id = table.Column(nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), CreatedOn = table.Column(nullable: false), DeletedOn = table.Column(nullable: false), PharmacyMedicinesId = table.Column(nullable: true), PharmacyId = table.Column(nullable: true), Email = table.Column(nullable: true), Name = table.Column(nullable: true), Password = table.Column(nullable: true) }, constraints: table => { table.PrimaryKey("PK_PharmacyHeads", x => x.Id); }); migrationBuilder.CreateTable( name: "MedicineLists", columns: table => new { Id = table.Column(nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), CreatedOn = table.Column(nullable: false), DeletedOn = table.Column(nullable: false), MedicinesId = table.Column(nullable: true), HasMedicine = table.Column(nullable: false), PharmacyHeadId = table.Column(nullable: true) }, constraints: table => { table.PrimaryKey("PK_MedicineLists", x => x.Id); table.ForeignKey( name: "FK_MedicineLists_Medicines_MedicinesId", column: x => x.MedicinesId, principalTable: "Medicines", principalColumn: "Id", onDelete: ReferentialAction.Restrict); table.ForeignKey( name: "FK_MedicineLists_PharmacyHeads_PharmacyHeadId", column: x => x.PharmacyHeadId, principalTable: "PharmacyHeads", principalColumn: "Id", onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateTable( name: "Pharmacies", columns: table => new { Id = table.Column(nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), CreatedOn = table.Column(nullable: false), DeletedOn = table.Column(nullable: false), Name = table.Column(nullable: true), Location = table.Column(nullable: true), Address = table.Column(nullable: true), WorkAllTime = table.Column(nullable: false), PharmacyHeadId = table.Column(nullable: true) }, constraints: table => { table.PrimaryKey("PK_Pharmacies", x => x.Id); table.ForeignKey( name: "FK_Pharmacies_PharmacyHeads_PharmacyHeadId", column: x => x.PharmacyHeadId, principalTable: "PharmacyHeads", principalColumn: "Id", onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateIndex( name: "IX_HealthcareWorkers_FacilityId", table: "HealthcareWorkers", column: "FacilityId"); migrationBuilder.CreateIndex( name: "IX_MedicineLists_MedicinesId", table: "MedicineLists", column: "MedicinesId"); migrationBuilder.CreateIndex( name: "IX_MedicineLists_PharmacyHeadId", table: "MedicineLists", column: "PharmacyHeadId"); migrationBuilder.CreateIndex( name: "IX_Medicines_MedicineListId", table: "Medicines", column: "MedicineListId"); migrationBuilder.CreateIndex( name: "IX_Pharmacies_PharmacyHeadId", table: "Pharmacies", column: "PharmacyHeadId"); migrationBuilder.CreateIndex( name: "IX_PharmacyHeads_PharmacyId", table: "PharmacyHeads", column: "PharmacyId"); migrationBuilder.CreateIndex( name: "IX_PharmacyHeads_PharmacyMedicinesId", table: "PharmacyHeads", column: "PharmacyMedicinesId"); migrationBuilder.AddForeignKey( name: "FK_Medicines_MedicineLists_MedicineListId", table: "Medicines", column: "MedicineListId", principalTable: "MedicineLists", principalColumn: "Id", onDelete: ReferentialAction.Restrict); migrationBuilder.AddForeignKey( name: "FK_PharmacyHeads_MedicineLists_PharmacyMedicinesId", table: "PharmacyHeads", column: "PharmacyMedicinesId", principalTable: "MedicineLists", principalColumn: "Id", onDelete: ReferentialAction.Restrict); migrationBuilder.AddForeignKey( name: "FK_PharmacyHeads_Pharmacies_PharmacyId", table: "PharmacyHeads", column: "PharmacyId", principalTable: "Pharmacies", principalColumn: "Id", onDelete: ReferentialAction.Restrict); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropForeignKey( name: "FK_MedicineLists_Medicines_MedicinesId", table: "MedicineLists"); migrationBuilder.DropForeignKey( name: "FK_MedicineLists_PharmacyHeads_PharmacyHeadId", table: "MedicineLists"); migrationBuilder.DropForeignKey( name: "FK_Pharmacies_PharmacyHeads_PharmacyHeadId", table: "Pharmacies"); migrationBuilder.DropTable( name: "HealthcareWorkers"); migrationBuilder.DropTable( name: "Pandemics"); migrationBuilder.DropTable( name: "HealthFacilities"); migrationBuilder.DropTable( name: "Medicines"); migrationBuilder.DropTable( name: "PharmacyHeads"); migrationBuilder.DropTable( name: "Pharmacies"); migrationBuilder.DropTable( name: "MedicineLists"); } } }