using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace Distribution.Migrations { /// public partial class AddRouteVisitManagement : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.AddColumn( name: "FK_OwnerUserId", table: "Routes", type: "char(36)", nullable: true, collation: "ascii_general_ci"); migrationBuilder.CreateTable( name: "RouteVisitLogs", columns: table => new { Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), FK_RouteId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), FK_StoreId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), FK_UserId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), CheckInAt = table.Column(type: "datetime(6)", nullable: false), CheckInLatitude = table.Column(type: "decimal(65,30)", nullable: false), CheckInLongitude = table.Column(type: "decimal(65,30)", nullable: false), IsDeviationFlagged = table.Column(type: "tinyint(1)", nullable: false), CheckOutAt = table.Column(type: "datetime(6)", nullable: true), CreatedAt = table.Column(type: "datetime(6)", nullable: false), IsActive = table.Column(type: "tinyint(1)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_RouteVisitLogs", x => x.Id); table.ForeignKey( name: "FK_RouteVisitLogs_Routes_FK_RouteId", column: x => x.FK_RouteId, principalTable: "Routes", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_RouteVisitLogs_Stores_FK_StoreId", column: x => x.FK_StoreId, principalTable: "Stores", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_RouteVisitLogs_Users_FK_UserId", column: x => x.FK_UserId, principalTable: "Users", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }) .Annotation("MySql:CharSet", "utf8mb4"); migrationBuilder.CreateIndex( name: "IX_Routes_FK_OwnerUserId", table: "Routes", column: "FK_OwnerUserId"); migrationBuilder.CreateIndex( name: "IX_RouteVisitLogs_FK_RouteId", table: "RouteVisitLogs", column: "FK_RouteId"); migrationBuilder.CreateIndex( name: "IX_RouteVisitLogs_FK_StoreId", table: "RouteVisitLogs", column: "FK_StoreId"); migrationBuilder.CreateIndex( name: "IX_RouteVisitLogs_FK_UserId", table: "RouteVisitLogs", column: "FK_UserId"); migrationBuilder.AddForeignKey( name: "FK_Routes_Users_FK_OwnerUserId", table: "Routes", column: "FK_OwnerUserId", principalTable: "Users", principalColumn: "Id"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropForeignKey( name: "FK_Routes_Users_FK_OwnerUserId", table: "Routes"); migrationBuilder.DropTable( name: "RouteVisitLogs"); migrationBuilder.DropIndex( name: "IX_Routes_FK_OwnerUserId", table: "Routes"); migrationBuilder.DropColumn( name: "FK_OwnerUserId", table: "Routes"); } } }