using System; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace AmtScanner.Api.Migrations { /// public partial class AddDeviceReservation : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "DeviceReservations", columns: table => new { Id = table.Column(type: "bigint", nullable: false) .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), DeviceId = table.Column(type: "bigint", nullable: false), UserId = table.Column(type: "int", nullable: false), StartTime = table.Column(type: "datetime(6)", nullable: false), EndTime = table.Column(type: "datetime(6)", nullable: false), Status = table.Column(type: "int", nullable: false), AccessToken = table.Column(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), Note = table.Column(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), CreatedAt = table.Column(type: "datetime(6)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_DeviceReservations", x => x.Id); table.ForeignKey( name: "FK_DeviceReservations_AmtDevices_DeviceId", column: x => x.DeviceId, principalTable: "AmtDevices", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_DeviceReservations_Users_UserId", column: x => x.UserId, principalTable: "Users", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }) .Annotation("MySql:CharSet", "utf8mb4"); migrationBuilder.CreateIndex( name: "IX_DeviceReservations_DeviceId", table: "DeviceReservations", column: "DeviceId"); migrationBuilder.CreateIndex( name: "IX_DeviceReservations_DeviceId_Status_EndTime", table: "DeviceReservations", columns: new[] { "DeviceId", "Status", "EndTime" }); migrationBuilder.CreateIndex( name: "IX_DeviceReservations_UserId", table: "DeviceReservations", column: "UserId"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "DeviceReservations"); } } }