Fix admin log key order. (#23052)

The keys for admin logs were set as (log_id, round_id). This made no sense because logs are usually accessed per round.
This commit is contained in:
Pieter-Jan Briers
2024-01-11 01:03:25 +01:00
committed by GitHub
parent c7ad10d0ad
commit a39999fb9c
7 changed files with 3697 additions and 42 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,105 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Content.Server.Database.Migrations.Postgres
{
/// <inheritdoc />
public partial class AdminLogPk : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_admin_log_player_admin_log_log_id_round_id",
table: "admin_log_player");
migrationBuilder.DropPrimaryKey(
name: "PK_admin_log_player",
table: "admin_log_player");
migrationBuilder.DropIndex(
name: "IX_admin_log_player_log_id_round_id",
table: "admin_log_player");
migrationBuilder.DropPrimaryKey(
name: "PK_admin_log",
table: "admin_log");
migrationBuilder.DropIndex(
name: "IX_admin_log_round_id",
table: "admin_log");
migrationBuilder.AddPrimaryKey(
name: "PK_admin_log_player",
table: "admin_log_player",
columns: new[] { "round_id", "log_id", "player_user_id" });
migrationBuilder.AddPrimaryKey(
name: "PK_admin_log",
table: "admin_log",
columns: new[] { "round_id", "admin_log_id" });
migrationBuilder.CreateIndex(
name: "IX_admin_log_player_player_user_id",
table: "admin_log_player",
column: "player_user_id");
migrationBuilder.AddForeignKey(
name: "FK_admin_log_player_admin_log_round_id_log_id",
table: "admin_log_player",
columns: new[] { "round_id", "log_id" },
principalTable: "admin_log",
principalColumns: new[] { "round_id", "admin_log_id" },
onDelete: ReferentialAction.Cascade);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_admin_log_player_admin_log_round_id_log_id",
table: "admin_log_player");
migrationBuilder.DropPrimaryKey(
name: "PK_admin_log_player",
table: "admin_log_player");
migrationBuilder.DropIndex(
name: "IX_admin_log_player_player_user_id",
table: "admin_log_player");
migrationBuilder.DropPrimaryKey(
name: "PK_admin_log",
table: "admin_log");
migrationBuilder.AddPrimaryKey(
name: "PK_admin_log_player",
table: "admin_log_player",
columns: new[] { "player_user_id", "log_id", "round_id" });
migrationBuilder.AddPrimaryKey(
name: "PK_admin_log",
table: "admin_log",
columns: new[] { "admin_log_id", "round_id" });
migrationBuilder.CreateIndex(
name: "IX_admin_log_player_log_id_round_id",
table: "admin_log_player",
columns: new[] { "log_id", "round_id" });
migrationBuilder.CreateIndex(
name: "IX_admin_log_round_id",
table: "admin_log",
column: "round_id");
migrationBuilder.AddForeignKey(
name: "FK_admin_log_player_admin_log_log_id_round_id",
table: "admin_log_player",
columns: new[] { "log_id", "round_id" },
principalTable: "admin_log",
principalColumns: new[] { "admin_log_id", "round_id" },
onDelete: ReferentialAction.Cascade);
}
}
}

View File

@@ -84,14 +84,14 @@ namespace Content.Server.Database.Migrations.Postgres
modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
{
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("admin_log_id");
b.Property<int>("RoundId")
.HasColumnType("integer")
.HasColumnName("round_id");
b.Property<int>("Id")
.HasColumnType("integer")
.HasColumnName("admin_log_id");
b.Property<DateTime>("Date")
.HasColumnType("timestamp with time zone")
.HasColumnName("date");
@@ -114,7 +114,7 @@ namespace Content.Server.Database.Migrations.Postgres
.HasColumnType("integer")
.HasColumnName("type");
b.HasKey("Id", "RoundId")
b.HasKey("RoundId", "Id")
.HasName("PK_admin_log");
b.HasIndex("Date");
@@ -124,9 +124,6 @@ namespace Content.Server.Database.Migrations.Postgres
NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex("Message"), "GIN");
b.HasIndex("RoundId")
.HasDatabaseName("IX_admin_log_round_id");
b.HasIndex("Type")
.HasDatabaseName("IX_admin_log_type");
@@ -135,22 +132,23 @@ namespace Content.Server.Database.Migrations.Postgres
modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b =>
{
b.Property<Guid>("PlayerUserId")
.HasColumnType("uuid")
.HasColumnName("player_user_id");
b.Property<int>("RoundId")
.HasColumnType("integer")
.HasColumnName("round_id");
b.Property<int>("LogId")
.HasColumnType("integer")
.HasColumnName("log_id");
b.Property<int>("RoundId")
.HasColumnType("integer")
.HasColumnName("round_id");
b.Property<Guid>("PlayerUserId")
.HasColumnType("uuid")
.HasColumnName("player_user_id");
b.HasKey("PlayerUserId", "LogId", "RoundId")
b.HasKey("RoundId", "LogId", "PlayerUserId")
.HasName("PK_admin_log_player");
b.HasIndex("LogId", "RoundId");
b.HasIndex("PlayerUserId")
.HasDatabaseName("IX_admin_log_player_player_user_id");
b.ToTable("admin_log_player", (string)null);
});
@@ -1303,10 +1301,10 @@ namespace Content.Server.Database.Migrations.Postgres
b.HasOne("Content.Server.Database.AdminLog", "Log")
.WithMany("Players")
.HasForeignKey("LogId", "RoundId")
.HasForeignKey("RoundId", "LogId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_admin_log_player_admin_log_log_id_round_id");
.HasConstraintName("FK_admin_log_player_admin_log_round_id_log_id");
b.Navigation("Log");

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,105 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Content.Server.Database.Migrations.Sqlite
{
/// <inheritdoc />
public partial class AdminLogPk : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_admin_log_player_admin_log_log_id_round_id",
table: "admin_log_player");
migrationBuilder.DropPrimaryKey(
name: "PK_admin_log_player",
table: "admin_log_player");
migrationBuilder.DropIndex(
name: "IX_admin_log_player_log_id_round_id",
table: "admin_log_player");
migrationBuilder.DropPrimaryKey(
name: "PK_admin_log",
table: "admin_log");
migrationBuilder.DropIndex(
name: "IX_admin_log_round_id",
table: "admin_log");
migrationBuilder.AddPrimaryKey(
name: "PK_admin_log_player",
table: "admin_log_player",
columns: new[] { "round_id", "log_id", "player_user_id" });
migrationBuilder.AddPrimaryKey(
name: "PK_admin_log",
table: "admin_log",
columns: new[] { "round_id", "admin_log_id" });
migrationBuilder.CreateIndex(
name: "IX_admin_log_player_player_user_id",
table: "admin_log_player",
column: "player_user_id");
migrationBuilder.AddForeignKey(
name: "FK_admin_log_player_admin_log_round_id_log_id",
table: "admin_log_player",
columns: new[] { "round_id", "log_id" },
principalTable: "admin_log",
principalColumns: new[] { "round_id", "admin_log_id" },
onDelete: ReferentialAction.Cascade);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_admin_log_player_admin_log_round_id_log_id",
table: "admin_log_player");
migrationBuilder.DropPrimaryKey(
name: "PK_admin_log_player",
table: "admin_log_player");
migrationBuilder.DropIndex(
name: "IX_admin_log_player_player_user_id",
table: "admin_log_player");
migrationBuilder.DropPrimaryKey(
name: "PK_admin_log",
table: "admin_log");
migrationBuilder.AddPrimaryKey(
name: "PK_admin_log_player",
table: "admin_log_player",
columns: new[] { "player_user_id", "log_id", "round_id" });
migrationBuilder.AddPrimaryKey(
name: "PK_admin_log",
table: "admin_log",
columns: new[] { "admin_log_id", "round_id" });
migrationBuilder.CreateIndex(
name: "IX_admin_log_player_log_id_round_id",
table: "admin_log_player",
columns: new[] { "log_id", "round_id" });
migrationBuilder.CreateIndex(
name: "IX_admin_log_round_id",
table: "admin_log",
column: "round_id");
migrationBuilder.AddForeignKey(
name: "FK_admin_log_player_admin_log_log_id_round_id",
table: "admin_log_player",
columns: new[] { "log_id", "round_id" },
principalTable: "admin_log",
principalColumns: new[] { "admin_log_id", "round_id" },
onDelete: ReferentialAction.Cascade);
}
}
}

View File

@@ -75,14 +75,14 @@ namespace Content.Server.Database.Migrations.Sqlite
modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
{
b.Property<int>("Id")
.HasColumnType("INTEGER")
.HasColumnName("admin_log_id");
b.Property<int>("RoundId")
.HasColumnType("INTEGER")
.HasColumnName("round_id");
b.Property<int>("Id")
.HasColumnType("INTEGER")
.HasColumnName("admin_log_id");
b.Property<DateTime>("Date")
.HasColumnType("TEXT")
.HasColumnName("date");
@@ -105,14 +105,11 @@ namespace Content.Server.Database.Migrations.Sqlite
.HasColumnType("INTEGER")
.HasColumnName("type");
b.HasKey("Id", "RoundId")
b.HasKey("RoundId", "Id")
.HasName("PK_admin_log");
b.HasIndex("Date");
b.HasIndex("RoundId")
.HasDatabaseName("IX_admin_log_round_id");
b.HasIndex("Type")
.HasDatabaseName("IX_admin_log_type");
@@ -121,22 +118,23 @@ namespace Content.Server.Database.Migrations.Sqlite
modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b =>
{
b.Property<Guid>("PlayerUserId")
.HasColumnType("TEXT")
.HasColumnName("player_user_id");
b.Property<int>("RoundId")
.HasColumnType("INTEGER")
.HasColumnName("round_id");
b.Property<int>("LogId")
.HasColumnType("INTEGER")
.HasColumnName("log_id");
b.Property<int>("RoundId")
.HasColumnType("INTEGER")
.HasColumnName("round_id");
b.Property<Guid>("PlayerUserId")
.HasColumnType("TEXT")
.HasColumnName("player_user_id");
b.HasKey("PlayerUserId", "LogId", "RoundId")
b.HasKey("RoundId", "LogId", "PlayerUserId")
.HasName("PK_admin_log_player");
b.HasIndex("LogId", "RoundId");
b.HasIndex("PlayerUserId")
.HasDatabaseName("IX_admin_log_player_player_user_id");
b.ToTable("admin_log_player", (string)null);
});
@@ -1235,10 +1233,10 @@ namespace Content.Server.Database.Migrations.Sqlite
b.HasOne("Content.Server.Database.AdminLog", "Log")
.WithMany("Players")
.HasForeignKey("LogId", "RoundId")
.HasForeignKey("RoundId", "LogId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_admin_log_player_admin_log_log_id_round_id");
.HasConstraintName("FK_admin_log_player_admin_log_round_id_log_id");
b.Navigation("Log");