using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Migrations; namespace ReallifeGamemode.Migrations { public partial class Groups : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.AddColumn( name: "GroupId", table: "Users", nullable: true); migrationBuilder.AddColumn( name: "GroupRank", table: "Users", nullable: false, defaultValue: 0); migrationBuilder.AddColumn( name: "GroupId", table: "ServerVehicles", nullable: true); migrationBuilder.CreateTable( name: "Groups", columns: table => new { Id = table.Column(nullable: false) .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), Name = table.Column(nullable: true) }, constraints: table => { table.PrimaryKey("PK_Groups", x => x.Id); }); migrationBuilder.CreateTable( name: "GroupBankAccounts", columns: table => new { Id = table.Column(nullable: false) .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), GroupId = table.Column(nullable: true), Balance = table.Column(nullable: false) }, constraints: table => { table.PrimaryKey("PK_GroupBankAccounts", x => x.Id); table.ForeignKey( name: "FK_GroupBankAccounts_Groups_GroupId", column: x => x.GroupId, principalTable: "Groups", principalColumn: "Id", onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateIndex( name: "IX_Users_GroupId", table: "Users", column: "GroupId"); migrationBuilder.CreateIndex( name: "IX_ServerVehicles_GroupId", table: "ServerVehicles", column: "GroupId"); migrationBuilder.CreateIndex( name: "IX_GroupBankAccounts_GroupId", table: "GroupBankAccounts", column: "GroupId"); migrationBuilder.AddForeignKey( name: "FK_ServerVehicles_Groups_GroupId", table: "ServerVehicles", column: "GroupId", principalTable: "Groups", principalColumn: "Id", onDelete: ReferentialAction.Restrict); migrationBuilder.AddForeignKey( name: "FK_Users_Groups_GroupId", table: "Users", column: "GroupId", principalTable: "Groups", principalColumn: "Id", onDelete: ReferentialAction.Restrict); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropForeignKey( name: "FK_ServerVehicles_Groups_GroupId", table: "ServerVehicles"); migrationBuilder.DropForeignKey( name: "FK_Users_Groups_GroupId", table: "Users"); migrationBuilder.DropTable( name: "GroupBankAccounts"); migrationBuilder.DropTable( name: "Groups"); migrationBuilder.DropIndex( name: "IX_Users_GroupId", table: "Users"); migrationBuilder.DropIndex( name: "IX_ServerVehicles_GroupId", table: "ServerVehicles"); migrationBuilder.DropColumn( name: "GroupId", table: "Users"); migrationBuilder.DropColumn( name: "GroupRank", table: "Users"); migrationBuilder.DropColumn( name: "GroupId", table: "ServerVehicles"); } } }