using System; using Microsoft.EntityFrameworkCore.Migrations; namespace Data.Migrations { public partial class init : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "Product", columns: table => new { Id = table.Column(nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Name = table.Column(nullable: false), Price = table.Column(nullable: false), AmountInStock = table.Column(nullable: false) }, constraints: table => { table.PrimaryKey("PK_Product", x => x.Id); }); migrationBuilder.CreateTable( name: "Role", columns: table => new { Id = table.Column(nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Name = table.Column(nullable: false) }, constraints: table => { table.PrimaryKey("PK_Role", x => x.Id); }); migrationBuilder.CreateTable( name: "User", columns: table => new { Id = table.Column(nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Name = table.Column(nullable: false), Password = table.Column(nullable: false), RoleId = table.Column(nullable: false) }, constraints: table => { table.PrimaryKey("PK_User", x => x.Id); table.ForeignKey( name: "FK_User_Role_RoleId", column: x => x.RoleId, principalTable: "Role", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Deal", columns: table => new { Id = table.Column(nullable: false) .Annotation("SqlServer:Identity", "1, 1"), UserId = table.Column(nullable: false), ProductId = table.Column(nullable: false), Amount = table.Column(nullable: false), Time = table.Column(rowVersion: true, nullable: false) }, constraints: table => { table.PrimaryKey("PK_Deal", x => x.Id); table.ForeignKey( name: "FK_Deal_Product_ProductId", column: x => x.ProductId, principalTable: "Product", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_Deal_User_UserId", column: x => x.UserId, principalTable: "User", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Stock", columns: table => new { Id = table.Column(nullable: false) .Annotation("SqlServer:Identity", "1, 1"), UserId = table.Column(nullable: false), ProductId = table.Column(nullable: false), Amount = table.Column(nullable: false), Time = table.Column(rowVersion: true, nullable: false) }, constraints: table => { table.PrimaryKey("PK_Stock", x => x.Id); table.ForeignKey( name: "FK_Stock_Product_ProductId", column: x => x.ProductId, principalTable: "Product", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_Stock_User_UserId", column: x => x.UserId, principalTable: "User", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateIndex( name: "IX_Deal_ProductId", table: "Deal", column: "ProductId"); migrationBuilder.CreateIndex( name: "IX_Deal_UserId", table: "Deal", column: "UserId"); migrationBuilder.CreateIndex( name: "IX_Product_Name", table: "Product", column: "Name", unique: true); migrationBuilder.CreateIndex( name: "IX_Role_Name", table: "Role", column: "Name", unique: true); migrationBuilder.CreateIndex( name: "IX_Stock_ProductId", table: "Stock", column: "ProductId"); migrationBuilder.CreateIndex( name: "IX_Stock_UserId", table: "Stock", column: "UserId"); migrationBuilder.CreateIndex( name: "IX_User_RoleId", table: "User", column: "RoleId"); migrationBuilder.CreateIndex( name: "IX_User_Name_Password", table: "User", columns: new[] { "Name", "Password" }, unique: true); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "Deal"); migrationBuilder.DropTable( name: "Stock"); migrationBuilder.DropTable( name: "Product"); migrationBuilder.DropTable( name: "User"); migrationBuilder.DropTable( name: "Role"); } } }