using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable #pragma warning disable CA1814 // Prefer jagged arrays over multidimensional namespace Core.Migrations { /// public partial class Init : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "Accounts", columns: table => new { Id = table.Column(type: "uniqueidentifier", nullable: false), Username = table.Column(type: "nvarchar(max)", nullable: true), Password = table.Column(type: "nvarchar(max)", nullable: true), Mobile = table.Column(type: "nvarchar(max)", nullable: true), Name = table.Column(type: "nvarchar(max)", nullable: true), Email = table.Column(type: "nvarchar(max)", nullable: true), Deleted = table.Column(type: "bit", nullable: false), CreateDate = table.Column(type: "datetime2", nullable: false), ModifyDate = table.Column(type: "datetime2", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Accounts", x => x.Id); }); migrationBuilder.CreateTable( name: "Roles", columns: table => new { Id = table.Column(type: "uniqueidentifier", nullable: false), Name = table.Column(type: "nvarchar(max)", nullable: true), Deleted = table.Column(type: "bit", nullable: false), CreateDate = table.Column(type: "datetime2", nullable: false), ModifyDate = table.Column(type: "datetime2", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Roles", x => x.Id); }); migrationBuilder.CreateTable( name: "LoginTokens", columns: table => new { Id = table.Column(type: "uniqueidentifier", nullable: false), Token = table.Column(type: "nvarchar(max)", nullable: true), ExpireationDate = table.Column(type: "datetime2", nullable: false), Used = table.Column(type: "bit", nullable: false), AccountId = table.Column(type: "uniqueidentifier", nullable: false), Deleted = table.Column(type: "bit", nullable: false), CreateDate = table.Column(type: "datetime2", nullable: false), ModifyDate = table.Column(type: "datetime2", nullable: false) }, constraints: table => { table.PrimaryKey("PK_LoginTokens", x => x.Id); table.ForeignKey( name: "FK_LoginTokens_Accounts_AccountId", column: x => x.AccountId, principalTable: "Accounts", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "AccountRoles", columns: table => new { Id = table.Column(type: "uniqueidentifier", nullable: false), RoleId = table.Column(type: "uniqueidentifier", nullable: false), AccountId = table.Column(type: "uniqueidentifier", nullable: false), Deleted = table.Column(type: "bit", nullable: false), CreateDate = table.Column(type: "datetime2", nullable: false), ModifyDate = table.Column(type: "datetime2", nullable: false) }, constraints: table => { table.PrimaryKey("PK_AccountRoles", x => x.Id); table.ForeignKey( name: "FK_AccountRoles_Accounts_AccountId", column: x => x.AccountId, principalTable: "Accounts", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_AccountRoles_Roles_RoleId", column: x => x.RoleId, principalTable: "Roles", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "RefreshTokens", columns: table => new { Id = table.Column(type: "uniqueidentifier", nullable: false), Token = table.Column(type: "nvarchar(max)", nullable: true), LoginTokenId = table.Column(type: "uniqueidentifier", nullable: false), Deleted = table.Column(type: "bit", nullable: false), CreateDate = table.Column(type: "datetime2", nullable: false), ModifyDate = table.Column(type: "datetime2", nullable: false) }, constraints: table => { table.PrimaryKey("PK_RefreshTokens", x => x.Id); table.ForeignKey( name: "FK_RefreshTokens_LoginTokens_LoginTokenId", column: x => x.LoginTokenId, principalTable: "LoginTokens", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.InsertData( table: "Roles", columns: new[] { "Id", "CreateDate", "Deleted", "ModifyDate", "Name" }, values: new object[,] { { new Guid("6b573e92-e3b7-4f88-9509-a036af7999eb"), new DateTime(2025, 2, 18, 18, 58, 0, 238, DateTimeKind.Local).AddTicks(6227), false, new DateTime(2025, 2, 18, 18, 58, 0, 238, DateTimeKind.Local).AddTicks(6227), "Developer" }, { new Guid("c05c6f75-e2cd-408c-9998-8ffc5778d2b5"), new DateTime(2025, 2, 18, 18, 58, 0, 238, DateTimeKind.Local).AddTicks(6215), false, new DateTime(2025, 2, 18, 18, 58, 0, 238, DateTimeKind.Local).AddTicks(6225), "Admin" } }); migrationBuilder.CreateIndex( name: "IX_AccountRoles_AccountId", table: "AccountRoles", column: "AccountId"); migrationBuilder.CreateIndex( name: "IX_AccountRoles_RoleId", table: "AccountRoles", column: "RoleId"); migrationBuilder.CreateIndex( name: "IX_LoginTokens_AccountId", table: "LoginTokens", column: "AccountId"); migrationBuilder.CreateIndex( name: "IX_RefreshTokens_LoginTokenId", table: "RefreshTokens", column: "LoginTokenId", unique: true); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "AccountRoles"); migrationBuilder.DropTable( name: "RefreshTokens"); migrationBuilder.DropTable( name: "Roles"); migrationBuilder.DropTable( name: "LoginTokens"); migrationBuilder.DropTable( name: "Accounts"); } } }