using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace DEMO.Migrations { /// public partial class InitialCreate : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "Categories", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), Name = table.Column(type: "TEXT", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Categories", x => x.Id); }); migrationBuilder.CreateTable( name: "Roles", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), Name = table.Column(type: "TEXT", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Roles", x => x.Id); }); migrationBuilder.CreateTable( name: "Warehouses", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), Name = table.Column(type: "TEXT", nullable: false), Address = table.Column(type: "TEXT", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Warehouses", x => x.Id); }); migrationBuilder.CreateTable( name: "Products", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), Name = table.Column(type: "TEXT", nullable: false), Price = table.Column(type: "TEXT", nullable: false), CategoryId = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Products", x => x.Id); table.ForeignKey( name: "FK_Products_Categories_CategoryId", column: x => x.CategoryId, principalTable: "Categories", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Users", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), Login = table.Column(type: "TEXT", nullable: false), Password = table.Column(type: "TEXT", nullable: false), RoleId = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Users", x => x.Id); table.ForeignKey( name: "FK_Users_Roles_RoleId", column: x => x.RoleId, principalTable: "Roles", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Stocks", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), ProductId = table.Column(type: "INTEGER", nullable: false), WarehouseId = table.Column(type: "INTEGER", nullable: false), Quantity = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Stocks", x => x.Id); table.ForeignKey( name: "FK_Stocks_Products_ProductId", column: x => x.ProductId, principalTable: "Products", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_Stocks_Warehouses_WarehouseId", column: x => x.WarehouseId, principalTable: "Warehouses", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Orders", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), UserId = table.Column(type: "INTEGER", nullable: false), Date = table.Column(type: "TEXT", nullable: false), Status = table.Column(type: "TEXT", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Orders", x => x.Id); table.ForeignKey( name: "FK_Orders_Users_UserId", column: x => x.UserId, principalTable: "Users", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "OrderItems", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), OrderId = table.Column(type: "INTEGER", nullable: false), ProductId = table.Column(type: "INTEGER", nullable: false), Quantity = table.Column(type: "INTEGER", nullable: false), Price = table.Column(type: "TEXT", nullable: false) }, constraints: table => { table.PrimaryKey("PK_OrderItems", x => x.Id); table.ForeignKey( name: "FK_OrderItems_Orders_OrderId", column: x => x.OrderId, principalTable: "Orders", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_OrderItems_Products_ProductId", column: x => x.ProductId, principalTable: "Products", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateIndex( name: "IX_OrderItems_OrderId", table: "OrderItems", column: "OrderId"); migrationBuilder.CreateIndex( name: "IX_OrderItems_ProductId", table: "OrderItems", column: "ProductId"); migrationBuilder.CreateIndex( name: "IX_Orders_UserId", table: "Orders", column: "UserId"); migrationBuilder.CreateIndex( name: "IX_Products_CategoryId", table: "Products", column: "CategoryId"); migrationBuilder.CreateIndex( name: "IX_Stocks_ProductId", table: "Stocks", column: "ProductId"); migrationBuilder.CreateIndex( name: "IX_Stocks_WarehouseId", table: "Stocks", column: "WarehouseId"); migrationBuilder.CreateIndex( name: "IX_Users_RoleId", table: "Users", column: "RoleId"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "OrderItems"); migrationBuilder.DropTable( name: "Stocks"); migrationBuilder.DropTable( name: "Orders"); migrationBuilder.DropTable( name: "Products"); migrationBuilder.DropTable( name: "Warehouses"); migrationBuilder.DropTable( name: "Users"); migrationBuilder.DropTable( name: "Categories"); migrationBuilder.DropTable( name: "Roles"); } } }