Files
IM_NEW/GroupService.Infrastructure/Migrations/20260419115121_InitGroupDb.cs
2026-05-09 17:06:30 +08:00

82 lines
4.2 KiB
C#

using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace GroupService.Infrastructure.Migrations
{
/// <inheritdoc />
public partial class InitGroupDb : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterDatabase()
.Annotation("MySql:Charset", "utf8mb4");
migrationBuilder.CreateTable(
name: "group_members",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
UserId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
GroupNickName = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:Charset", "utf8mb4"),
Avatar = table.Column<string>(type: "longtext", nullable: true)
.Annotation("MySql:Charset", "utf8mb4"),
GroupId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Role = table.Column<int>(type: "int", nullable: false),
IsDeleted = table.Column<bool>(type: "tinyint(1)", nullable: false),
CreationTime = table.Column<DateTimeOffset>(type: "datetime(6)", nullable: false),
Deletion = table.Column<DateTimeOffset>(type: "datetime(6)", nullable: true),
ModificationTime = table.Column<DateTimeOffset>(type: "datetime(6)", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_group_members", x => x.Id);
})
.Annotation("MySql:Charset", "utf8mb4");
migrationBuilder.CreateTable(
name: "groups",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:Charset", "utf8mb4"),
GroupMaster = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Authority = table.Column<int>(type: "int", nullable: false),
AllMembersBanned = table.Column<bool>(type: "tinyint(1)", nullable: false),
Status = table.Column<int>(type: "int", nullable: false),
Announcement = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:Charset", "utf8mb4"),
Avatar = table.Column<string>(type: "longtext", nullable: true)
.Annotation("MySql:Charset", "utf8mb4"),
MaxSequenceId = table.Column<long>(type: "bigint", nullable: false),
LastMessage = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:Charset", "utf8mb4"),
LastSenderName = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:Charset", "utf8mb4"),
IsDeleted = table.Column<bool>(type: "tinyint(1)", nullable: false),
CreationTime = table.Column<DateTimeOffset>(type: "datetime(6)", nullable: false),
Deletion = table.Column<DateTimeOffset>(type: "datetime(6)", nullable: true),
ModificationTime = table.Column<DateTimeOffset>(type: "datetime(6)", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_groups", x => x.Id);
})
.Annotation("MySql:Charset", "utf8mb4");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "group_members");
migrationBuilder.DropTable(
name: "groups");
}
}
}