246 lines
15 KiB
C#
246 lines
15 KiB
C#
using System;
|
|
using Microsoft.EntityFrameworkCore.Migrations;
|
|
|
|
#nullable disable
|
|
|
|
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
|
|
|
|
namespace LingAdmin.AuthorizationService.Migrations
|
|
{
|
|
/// <inheritdoc />
|
|
public partial class InitialCreate : Migration
|
|
{
|
|
/// <inheritdoc />
|
|
protected override void Up(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.CreateTable(
|
|
name: "Permissions",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<int>(type: "int", nullable: false)
|
|
.Annotation("SqlServer:Identity", "1, 1"),
|
|
Name = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: false),
|
|
Code = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: false),
|
|
Description = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
|
|
Resource = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: false),
|
|
Action = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
|
|
CreatedAt = table.Column<DateTime>(type: "datetime2", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_Permissions", x => x.Id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "Roles",
|
|
columns: table => new
|
|
{
|
|
Id = table.Column<int>(type: "int", nullable: false)
|
|
.Annotation("SqlServer:Identity", "1, 1"),
|
|
Name = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: false),
|
|
Code = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
|
|
Description = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
|
|
IsSystem = table.Column<bool>(type: "bit", nullable: false),
|
|
CreatedAt = table.Column<DateTime>(type: "datetime2", nullable: false),
|
|
UpdatedAt = table.Column<DateTime>(type: "datetime2", nullable: true)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_Roles", x => x.Id);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "RolePermissions",
|
|
columns: table => new
|
|
{
|
|
RoleId = table.Column<int>(type: "int", nullable: false),
|
|
PermissionId = table.Column<int>(type: "int", nullable: false),
|
|
AssignedAt = table.Column<DateTime>(type: "datetime2", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_RolePermissions", x => new { x.RoleId, x.PermissionId });
|
|
table.ForeignKey(
|
|
name: "FK_RolePermissions_Permissions_PermissionId",
|
|
column: x => x.PermissionId,
|
|
principalTable: "Permissions",
|
|
principalColumn: "Id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
table.ForeignKey(
|
|
name: "FK_RolePermissions_Roles_RoleId",
|
|
column: x => x.RoleId,
|
|
principalTable: "Roles",
|
|
principalColumn: "Id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "UserRoles",
|
|
columns: table => new
|
|
{
|
|
UserId = table.Column<int>(type: "int", nullable: false),
|
|
RoleId = table.Column<int>(type: "int", nullable: false),
|
|
AssignedAt = table.Column<DateTime>(type: "datetime2", nullable: false),
|
|
AssignedBy = table.Column<int>(type: "int", nullable: true)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_UserRoles", x => new { x.UserId, x.RoleId });
|
|
table.ForeignKey(
|
|
name: "FK_UserRoles_Roles_RoleId",
|
|
column: x => x.RoleId,
|
|
principalTable: "Roles",
|
|
principalColumn: "Id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.InsertData(
|
|
table: "Permissions",
|
|
columns: new[] { "Id", "Action", "Code", "CreatedAt", "Description", "Name", "Resource" },
|
|
values: new object[,]
|
|
{
|
|
{ 1, "read", "users:read", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), null, "查看用户", "users" },
|
|
{ 2, "create", "users:create", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), null, "创建用户", "users" },
|
|
{ 3, "update", "users:update", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), null, "编辑用户", "users" },
|
|
{ 4, "delete", "users:delete", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), null, "删除用户", "users" },
|
|
{ 5, "read", "roles:read", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), null, "查看角色", "roles" },
|
|
{ 6, "create", "roles:create", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), null, "创建角色", "roles" },
|
|
{ 7, "update", "roles:update", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), null, "编辑角色", "roles" },
|
|
{ 8, "delete", "roles:delete", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), null, "删除角色", "roles" },
|
|
{ 9, "read", "permissions:read", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), null, "查看权限", "permissions" },
|
|
{ 10, "assign", "permissions:assign", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), null, "分配权限", "permissions" },
|
|
{ 11, "read", "requisitions:read", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), null, "查看请购单", "requisitions" },
|
|
{ 12, "create", "requisitions:create", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), null, "创建请购单", "requisitions" },
|
|
{ 13, "update", "requisitions:update", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), null, "编辑请购单", "requisitions" },
|
|
{ 14, "delete", "requisitions:delete", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), null, "删除请购单", "requisitions" },
|
|
{ 15, "approve", "requisitions:approve", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), null, "审批请购单", "requisitions" },
|
|
{ 16, "read", "inventory:read", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), null, "查看库存", "inventory" },
|
|
{ 17, "manage", "inventory:manage", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), null, "管理库存", "inventory" },
|
|
{ 18, "read", "audit:read", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), null, "查看审计日志", "audit" },
|
|
{ 19, "read", "settings:read", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), null, "查看设置", "settings" },
|
|
{ 20, "update", "settings:update", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), null, "修改设置", "settings" }
|
|
});
|
|
|
|
migrationBuilder.InsertData(
|
|
table: "Roles",
|
|
columns: new[] { "Id", "Code", "CreatedAt", "Description", "IsSystem", "Name", "UpdatedAt" },
|
|
values: new object[,]
|
|
{
|
|
{ 1, "SuperAdmin", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), "拥有所有权限", true, "超级管理员", null },
|
|
{ 2, "Admin", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), "系统管理员", true, "管理员", null },
|
|
{ 3, "User", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), "普通用户", true, "普通用户", null },
|
|
{ 4, "Editor", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), "内容编辑", false, "编辑", null },
|
|
{ 5, "Auditor", new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), "审核员", false, "审核员", null }
|
|
});
|
|
|
|
migrationBuilder.InsertData(
|
|
table: "RolePermissions",
|
|
columns: new[] { "PermissionId", "RoleId", "AssignedAt" },
|
|
values: new object[,]
|
|
{
|
|
{ 1, 1, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 2, 1, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 3, 1, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 4, 1, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 5, 1, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 6, 1, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 7, 1, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 8, 1, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 9, 1, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 10, 1, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 11, 1, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 12, 1, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 13, 1, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 14, 1, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 15, 1, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 16, 1, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 17, 1, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 18, 1, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 19, 1, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 20, 1, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 1, 2, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 2, 2, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 3, 2, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 5, 2, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 6, 2, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 7, 2, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 9, 2, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 10, 2, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 11, 2, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 12, 2, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 13, 2, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 14, 2, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 15, 2, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 16, 2, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 17, 2, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 18, 2, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 19, 2, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 20, 2, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 1, 3, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 5, 3, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 11, 3, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 12, 3, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 16, 3, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 19, 3, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 1, 4, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 5, 4, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 11, 4, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 12, 4, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 13, 4, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 16, 4, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 19, 4, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 1, 5, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 5, 5, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 11, 5, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 15, 5, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 16, 5, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 18, 5, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) },
|
|
{ 19, 5, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) }
|
|
});
|
|
|
|
migrationBuilder.InsertData(
|
|
table: "UserRoles",
|
|
columns: new[] { "RoleId", "UserId", "AssignedAt", "AssignedBy" },
|
|
values: new object[] { 1, 1, new DateTime(2024, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc), null });
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Permissions_Code",
|
|
table: "Permissions",
|
|
column: "Code",
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_RolePermissions_PermissionId",
|
|
table: "RolePermissions",
|
|
column: "PermissionId");
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Roles_Code",
|
|
table: "Roles",
|
|
column: "Code",
|
|
unique: true);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_UserRoles_RoleId",
|
|
table: "UserRoles",
|
|
column: "RoleId");
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
protected override void Down(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.DropTable(
|
|
name: "RolePermissions");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "UserRoles");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "Permissions");
|
|
|
|
migrationBuilder.DropTable(
|
|
name: "Roles");
|
|
}
|
|
}
|
|
}
|