using System; using Microsoft.EntityFrameworkCore.Migrations; namespace KanSan.Base.Migrations { public partial class InitialCommit : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "Kunden", columns: table => new { ID = table.Column(nullable: false) .Annotation("Sqlite:Autoincrement", true), GuidNr = table.Column(nullable: false), Vorname = table.Column(nullable: true), Nachname = table.Column(nullable: true), Strasse = table.Column(nullable: true), PLZ = table.Column(nullable: true), Ort = table.Column(nullable: true) }, constraints: table => { table.PrimaryKey("PK_Kunden", x => x.ID); }); migrationBuilder.CreateTable( name: "SewerPoints", columns: table => new { ID = table.Column(nullable: false) .Annotation("Sqlite:Autoincrement", true), GuidNr = table.Column(nullable: false), Objektnummer = table.Column(nullable: true) }, constraints: table => { table.PrimaryKey("PK_SewerPoints", x => x.ID); }); migrationBuilder.CreateTable( name: "Projekte", columns: table => new { ID = table.Column(nullable: false) .Annotation("Sqlite:Autoincrement", true), GuidNr = table.Column(nullable: false), KundeID = table.Column(nullable: true), Ort = table.Column(nullable: true), Projektnummer = table.Column(nullable: true) }, constraints: table => { table.PrimaryKey("PK_Projekte", x => x.ID); table.ForeignKey( name: "FK_Projekte_Kunden_KundeID", column: x => x.KundeID, principalTable: "Kunden", principalColumn: "ID", onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateTable( name: "Baustelle", columns: table => new { ID = table.Column(nullable: false) .Annotation("Sqlite:Autoincrement", true), GuidNr = table.Column(nullable: false), ProjektID = table.Column(nullable: true), OrtTeil = table.Column(nullable: true), BaustelleNummer = table.Column(nullable: true) }, constraints: table => { table.PrimaryKey("PK_Baustelle", x => x.ID); table.ForeignKey( name: "FK_Baustelle_Projekte_ProjektID", column: x => x.ProjektID, principalTable: "Projekte", principalColumn: "ID", onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateTable( name: "Kanaele", columns: table => new { ID = table.Column(nullable: false) .Annotation("Sqlite:Autoincrement", true), GuidNr = table.Column(nullable: false), BaustelleID = table.Column(nullable: true), StrasseName = table.Column(nullable: true), ObjektNummer = table.Column(nullable: true), SewerType = table.Column(nullable: false), PunktTypeOben = table.Column(nullable: false), PunktObenID = table.Column(nullable: true), PunktTypeUnten = table.Column(nullable: false), PunktUntenID = table.Column(nullable: true), DN = table.Column(nullable: false), Material = table.Column(nullable: false) }, constraints: table => { table.PrimaryKey("PK_Kanaele", x => x.ID); table.ForeignKey( name: "FK_Kanaele_Baustelle_BaustelleID", column: x => x.BaustelleID, principalTable: "Baustelle", principalColumn: "ID", onDelete: ReferentialAction.Restrict); table.ForeignKey( name: "FK_Kanaele_SewerPoints_PunktObenID", column: x => x.PunktObenID, principalTable: "SewerPoints", principalColumn: "ID", onDelete: ReferentialAction.Restrict); table.ForeignKey( name: "FK_Kanaele_SewerPoints_PunktUntenID", column: x => x.PunktUntenID, principalTable: "SewerPoints", principalColumn: "ID", onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateIndex( name: "IX_Baustelle_ProjektID", table: "Baustelle", column: "ProjektID"); migrationBuilder.CreateIndex( name: "IX_Kanaele_BaustelleID", table: "Kanaele", column: "BaustelleID"); migrationBuilder.CreateIndex( name: "IX_Kanaele_PunktObenID", table: "Kanaele", column: "PunktObenID"); migrationBuilder.CreateIndex( name: "IX_Kanaele_PunktUntenID", table: "Kanaele", column: "PunktUntenID"); migrationBuilder.CreateIndex( name: "IX_Projekte_KundeID", table: "Projekte", column: "KundeID"); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "Kanaele"); migrationBuilder.DropTable( name: "Baustelle"); migrationBuilder.DropTable( name: "SewerPoints"); migrationBuilder.DropTable( name: "Projekte"); migrationBuilder.DropTable( name: "Kunden"); } } }