1
0

20220214061058_RoleBans.cs 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. using System;
  2. using System.Net;
  3. using Microsoft.EntityFrameworkCore.Migrations;
  4. using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
  5. #nullable disable
  6. namespace Content.Server.Database.Migrations.Postgres
  7. {
  8. public partial class RoleBans : Migration
  9. {
  10. protected override void Up(MigrationBuilder migrationBuilder)
  11. {
  12. migrationBuilder.CreateTable(
  13. name: "server_role_unban",
  14. columns: table => new
  15. {
  16. role_unban_id = table.Column<int>(type: "integer", nullable: false)
  17. .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
  18. ban_id = table.Column<int>(type: "integer", nullable: false),
  19. unbanning_admin = table.Column<Guid>(type: "uuid", nullable: true),
  20. unban_time = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
  21. },
  22. constraints: table =>
  23. {
  24. table.PrimaryKey("PK_server_role_unban", x => x.role_unban_id);
  25. table.ForeignKey(
  26. name: "FK_server_role_unban_server_ban_ban_id",
  27. column: x => x.ban_id,
  28. principalTable: "server_ban",
  29. principalColumn: "server_ban_id",
  30. onDelete: ReferentialAction.Cascade);
  31. });
  32. migrationBuilder.CreateTable(
  33. name: "server_role_ban",
  34. columns: table => new
  35. {
  36. server_role_ban_id = table.Column<int>(type: "integer", nullable: false)
  37. .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
  38. user_id = table.Column<Guid>(type: "uuid", nullable: true),
  39. address = table.Column<ValueTuple<IPAddress, int>>(type: "inet", nullable: true),
  40. hwid = table.Column<byte[]>(type: "bytea", nullable: true),
  41. ban_time = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
  42. expiration_time = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
  43. reason = table.Column<string>(type: "text", nullable: false),
  44. banning_admin = table.Column<Guid>(type: "uuid", nullable: true),
  45. unban_id = table.Column<int>(type: "integer", nullable: true),
  46. role_id = table.Column<string>(type: "text", nullable: false)
  47. },
  48. constraints: table =>
  49. {
  50. table.PrimaryKey("PK_server_role_ban", x => x.server_role_ban_id);
  51. table.CheckConstraint("CK_server_role_ban_AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
  52. table.ForeignKey(
  53. name: "FK_server_role_ban_server_role_unban__unban_id",
  54. column: x => x.unban_id,
  55. principalTable: "server_role_unban",
  56. principalColumn: "role_unban_id");
  57. });
  58. migrationBuilder.CreateIndex(
  59. name: "IX_server_role_ban__unban_id",
  60. table: "server_role_ban",
  61. column: "unban_id");
  62. migrationBuilder.CreateIndex(
  63. name: "IX_server_role_unban_ban_id",
  64. table: "server_role_unban",
  65. column: "ban_id");
  66. }
  67. protected override void Down(MigrationBuilder migrationBuilder)
  68. {
  69. migrationBuilder.DropTable(
  70. name: "server_role_ban");
  71. migrationBuilder.DropTable(
  72. name: "server_role_unban");
  73. }
  74. }
  75. }