Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Microsoft.EntityFrameworkCore.Metadata;
- using Microsoft.EntityFrameworkCore.Migrations;
- using System;
- using System.Collections.Generic;
- namespace DAL.Database.Migrations
- {
- public partial class PlayerModel : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.AddColumn<int>(
- name: "PlayerID",
- table: "Users",
- nullable: false,
- defaultValue: 0);
- migrationBuilder.CreateTable(
- name: "Enemy",
- columns: table => new
- {
- ID = table.Column<int>(nullable: false)
- .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
- CurrentHP = table.Column<int>(nullable: false),
- MaxDamage = table.Column<int>(nullable: false),
- MaxHP = table.Column<int>(nullable: false),
- Name = table.Column<string>(nullable: true),
- RewardGold = table.Column<int>(nullable: false),
- RewardXP = table.Column<int>(nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Enemy", x => x.ID);
- });
- migrationBuilder.CreateTable(
- name: "Item",
- columns: table => new
- {
- ID = table.Column<int>(nullable: false)
- .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
- Discriminator = table.Column<string>(nullable: false),
- Name = table.Column<string>(nullable: true),
- NamePlural = table.Column<string>(nullable: true),
- MaxDamage = table.Column<int>(nullable: true),
- MinDamage = table.Column<int>(nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Item", x => x.ID);
- });
- migrationBuilder.CreateTable(
- name: "LootItem",
- columns: table => new
- {
- ID = table.Column<int>(nullable: false)
- .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
- DetailsID = table.Column<int>(nullable: true),
- DropPercentage = table.Column<int>(nullable: false),
- EnemyID = table.Column<int>(nullable: true),
- IsDefaultItem = table.Column<bool>(nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_LootItem", x => x.ID);
- table.ForeignKey(
- name: "FK_LootItem_Item_DetailsID",
- column: x => x.DetailsID,
- principalTable: "Item",
- principalColumn: "ID",
- onDelete: ReferentialAction.Restrict);
- table.ForeignKey(
- name: "FK_LootItem_Enemy_EnemyID",
- column: x => x.EnemyID,
- principalTable: "Enemy",
- principalColumn: "ID",
- onDelete: ReferentialAction.Restrict);
- });
- migrationBuilder.CreateTable(
- name: "Quest",
- columns: table => new
- {
- ID = table.Column<int>(nullable: false)
- .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
- Description = table.Column<string>(nullable: true),
- Name = table.Column<string>(nullable: true),
- RewardGold = table.Column<int>(nullable: false),
- RewardItemID = table.Column<int>(nullable: true),
- RewardXP = table.Column<int>(nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Quest", x => x.ID);
- table.ForeignKey(
- name: "FK_Quest_Item_RewardItemID",
- column: x => x.RewardItemID,
- principalTable: "Item",
- principalColumn: "ID",
- onDelete: ReferentialAction.Restrict);
- });
- migrationBuilder.CreateTable(
- name: "Location",
- columns: table => new
- {
- ID = table.Column<int>(nullable: false)
- .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
- Description = table.Column<string>(nullable: true),
- EnemyLivingHereID = table.Column<int>(nullable: true),
- ItemRequiredToEnterID = table.Column<int>(nullable: true),
- Map = table.Column<string>(nullable: true),
- Name = table.Column<string>(nullable: true),
- QuestAvailableHereID = table.Column<int>(nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Location", x => x.ID);
- table.ForeignKey(
- name: "FK_Location_Enemy_EnemyLivingHereID",
- column: x => x.EnemyLivingHereID,
- principalTable: "Enemy",
- principalColumn: "ID",
- onDelete: ReferentialAction.Restrict);
- table.ForeignKey(
- name: "FK_Location_Item_ItemRequiredToEnterID",
- column: x => x.ItemRequiredToEnterID,
- principalTable: "Item",
- principalColumn: "ID",
- onDelete: ReferentialAction.Restrict);
- table.ForeignKey(
- name: "FK_Location_Quest_QuestAvailableHereID",
- column: x => x.QuestAvailableHereID,
- principalTable: "Quest",
- principalColumn: "ID",
- onDelete: ReferentialAction.Restrict);
- });
- migrationBuilder.CreateTable(
- name: "QuestCompletionItem",
- columns: table => new
- {
- ID = table.Column<int>(nullable: false)
- .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
- ItemID = table.Column<int>(nullable: true),
- Quantity = table.Column<int>(nullable: false),
- QuestID = table.Column<int>(nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_QuestCompletionItem", x => x.ID);
- table.ForeignKey(
- name: "FK_QuestCompletionItem_Item_ItemID",
- column: x => x.ItemID,
- principalTable: "Item",
- principalColumn: "ID",
- onDelete: ReferentialAction.Restrict);
- table.ForeignKey(
- name: "FK_QuestCompletionItem_Quest_QuestID",
- column: x => x.QuestID,
- principalTable: "Quest",
- principalColumn: "ID",
- onDelete: ReferentialAction.Restrict);
- });
- migrationBuilder.CreateTable(
- name: "Players",
- columns: table => new
- {
- ID = table.Column<int>(nullable: false)
- .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
- CurrentHP = table.Column<int>(nullable: false),
- CurrentLocationID = table.Column<int>(nullable: true),
- CurrentWeaponID = table.Column<int>(nullable: true),
- Gold = table.Column<int>(nullable: false),
- MaxHP = table.Column<int>(nullable: false),
- Name = table.Column<string>(nullable: true),
- XP = table.Column<int>(nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Players", x => x.ID);
- table.ForeignKey(
- name: "FK_Players_Location_CurrentLocationID",
- column: x => x.CurrentLocationID,
- principalTable: "Location",
- principalColumn: "ID",
- onDelete: ReferentialAction.Restrict);
- table.ForeignKey(
- name: "FK_Players_Item_CurrentWeaponID",
- column: x => x.CurrentWeaponID,
- principalTable: "Item",
- principalColumn: "ID",
- onDelete: ReferentialAction.Restrict);
- });
- migrationBuilder.CreateTable(
- name: "InventoryItem",
- columns: table => new
- {
- ID = table.Column<int>(nullable: false)
- .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
- ItemID = table.Column<int>(nullable: true),
- PlayerID = table.Column<int>(nullable: true),
- Quantity = table.Column<int>(nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_InventoryItem", x => x.ID);
- table.ForeignKey(
- name: "FK_InventoryItem_Item_ItemID",
- column: x => x.ItemID,
- principalTable: "Item",
- principalColumn: "ID",
- onDelete: ReferentialAction.Restrict);
- table.ForeignKey(
- name: "FK_InventoryItem_Players_PlayerID",
- column: x => x.PlayerID,
- principalTable: "Players",
- principalColumn: "ID",
- onDelete: ReferentialAction.Restrict);
- });
- migrationBuilder.CreateTable(
- name: "PlayerQuest",
- columns: table => new
- {
- ID = table.Column<int>(nullable: false)
- .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
- IsCompleted = table.Column<bool>(nullable: false),
- PlayerID = table.Column<int>(nullable: true),
- QuestID = table.Column<int>(nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_PlayerQuest", x => x.ID);
- table.ForeignKey(
- name: "FK_PlayerQuest_Players_PlayerID",
- column: x => x.PlayerID,
- principalTable: "Players",
- principalColumn: "ID",
- onDelete: ReferentialAction.Restrict);
- table.ForeignKey(
- name: "FK_PlayerQuest_Quest_QuestID",
- column: x => x.QuestID,
- principalTable: "Quest",
- principalColumn: "ID",
- onDelete: ReferentialAction.Restrict);
- });
- migrationBuilder.CreateIndex(
- name: "IX_Users_PlayerID",
- table: "Users",
- column: "PlayerID");
- migrationBuilder.CreateIndex(
- name: "IX_InventoryItem_ItemID",
- table: "InventoryItem",
- column: "ItemID");
- migrationBuilder.CreateIndex(
- name: "IX_InventoryItem_PlayerID",
- table: "InventoryItem",
- column: "PlayerID");
- migrationBuilder.CreateIndex(
- name: "IX_Location_EnemyLivingHereID",
- table: "Location",
- column: "EnemyLivingHereID");
- migrationBuilder.CreateIndex(
- name: "IX_Location_ItemRequiredToEnterID",
- table: "Location",
- column: "ItemRequiredToEnterID");
- migrationBuilder.CreateIndex(
- name: "IX_Location_QuestAvailableHereID",
- table: "Location",
- column: "QuestAvailableHereID");
- migrationBuilder.CreateIndex(
- name: "IX_LootItem_DetailsID",
- table: "LootItem",
- column: "DetailsID");
- migrationBuilder.CreateIndex(
- name: "IX_LootItem_EnemyID",
- table: "LootItem",
- column: "EnemyID");
- migrationBuilder.CreateIndex(
- name: "IX_PlayerQuest_PlayerID",
- table: "PlayerQuest",
- column: "PlayerID");
- migrationBuilder.CreateIndex(
- name: "IX_PlayerQuest_QuestID",
- table: "PlayerQuest",
- column: "QuestID");
- migrationBuilder.CreateIndex(
- name: "IX_Players_CurrentLocationID",
- table: "Players",
- column: "CurrentLocationID");
- migrationBuilder.CreateIndex(
- name: "IX_Players_CurrentWeaponID",
- table: "Players",
- column: "CurrentWeaponID");
- migrationBuilder.CreateIndex(
- name: "IX_Quest_RewardItemID",
- table: "Quest",
- column: "RewardItemID");
- migrationBuilder.CreateIndex(
- name: "IX_QuestCompletionItem_ItemID",
- table: "QuestCompletionItem",
- column: "ItemID");
- migrationBuilder.CreateIndex(
- name: "IX_QuestCompletionItem_QuestID",
- table: "QuestCompletionItem",
- column: "QuestID");
- migrationBuilder.AddForeignKey(
- name: "FK_Users_Players_PlayerID",
- table: "Users",
- column: "PlayerID",
- principalTable: "Players",
- principalColumn: "ID",
- onDelete: ReferentialAction.Cascade);
- }
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropForeignKey(
- name: "FK_Users_Players_PlayerID",
- table: "Users");
- migrationBuilder.DropTable(
- name: "InventoryItem");
- migrationBuilder.DropTable(
- name: "LootItem");
- migrationBuilder.DropTable(
- name: "PlayerQuest");
- migrationBuilder.DropTable(
- name: "QuestCompletionItem");
- migrationBuilder.DropTable(
- name: "Players");
- migrationBuilder.DropTable(
- name: "Location");
- migrationBuilder.DropTable(
- name: "Enemy");
- migrationBuilder.DropTable(
- name: "Quest");
- migrationBuilder.DropTable(
- name: "Item");
- migrationBuilder.DropIndex(
- name: "IX_Users_PlayerID",
- table: "Users");
- migrationBuilder.DropColumn(
- name: "PlayerID",
- table: "Users");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement