using System; using System.Collections.Generic; using Microsoft.EntityFrameworkCore.Migrations; namespace BulkPrintingAPI.Migrations { public partial class InitialCreate : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "Warehouses", columns: table => new { Id = table.Column(nullable: false), Name = table.Column(maxLength: 50, nullable: true) }, constraints: table => { table.PrimaryKey("PK_Warehouses", x => x.Id); }); migrationBuilder.CreateTable( name: "Accounts", columns: table => new { Id = table.Column(nullable: false), Balance = table.Column(nullable: false), Name = table.Column(maxLength: 50, nullable: true), Reference = table.Column(maxLength: 50, nullable: true), Status = table.Column(nullable: false), WarehouseId = table.Column(nullable: false) }, constraints: table => { table.PrimaryKey("PK_Accounts", x => x.Id); table.ForeignKey( name: "FK_Accounts_Warehouses_WarehouseId", column: x => x.WarehouseId, principalTable: "Warehouses", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Users", columns: table => new { Id = table.Column(nullable: false), AccountId = table.Column(nullable: false), CanPrintOffline = table.Column(nullable: false), CanPrintOnline = table.Column(nullable: false), CanReprintOffline = table.Column(nullable: false), CanReprintOnline = table.Column(nullable: false), Enabled = table.Column(nullable: false), FirstName = table.Column(maxLength: 50, nullable: true), LastLogin = table.Column(nullable: false), Level = table.Column(nullable: false), OfflinePrintValue = table.Column(nullable: false), OfflineReprintValue = table.Column(nullable: false), OnlinePrintValue = table.Column(nullable: false), OnlineReprintValue = table.Column(nullable: false), Surname = table.Column(maxLength: 50, nullable: true), System = table.Column(nullable: false), Username = table.Column(maxLength: 50, nullable: true) }, constraints: table => { table.PrimaryKey("PK_Users", x => x.Id); table.ForeignKey( name: "FK_Users_Accounts_AccountId", column: x => x.AccountId, principalTable: "Accounts", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Vendors", columns: table => new { Id = table.Column(nullable: false), AccountId = table.Column(nullable: false), SerialNumber = table.Column(maxLength: 50, nullable: true) }, constraints: table => { table.PrimaryKey("PK_Vendors", x => x.Id); table.ForeignKey( name: "FK_Vendors_Accounts_AccountId", column: x => x.AccountId, principalTable: "Accounts", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateIndex( name: "IX_Accounts_WarehouseId", table: "Accounts", column: "WarehouseId"); migrationBuilder.CreateIndex( name: "IX_Users_AccountId", table: "Users", column: "AccountId"); migrationBuilder.CreateIndex( name: "IX_Vendors_AccountId", table: "Vendors", column: "AccountId"); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "Users"); migrationBuilder.DropTable( name: "Vendors"); migrationBuilder.DropTable( name: "Accounts"); migrationBuilder.DropTable( name: "Warehouses"); } } }