20201028210620_Admins.cs 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. using System;
  2. using Microsoft.EntityFrameworkCore.Migrations;
  3. using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
  4. namespace Content.Server.Database.Migrations.Postgres
  5. {
  6. public partial class Admins : Migration
  7. {
  8. protected override void Up(MigrationBuilder migrationBuilder)
  9. {
  10. migrationBuilder.CreateTable(
  11. name: "admin_rank",
  12. columns: table => new
  13. {
  14. admin_rank_id = table.Column<int>(nullable: false)
  15. .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
  16. name = table.Column<string>(nullable: false)
  17. },
  18. constraints: table =>
  19. {
  20. table.PrimaryKey("PK_admin_rank", x => x.admin_rank_id);
  21. });
  22. migrationBuilder.CreateTable(
  23. name: "admin",
  24. columns: table => new
  25. {
  26. user_id = table.Column<Guid>(nullable: false),
  27. title = table.Column<string>(nullable: true),
  28. admin_rank_id = table.Column<int>(nullable: true)
  29. },
  30. constraints: table =>
  31. {
  32. table.PrimaryKey("PK_admin", x => x.user_id);
  33. table.ForeignKey(
  34. name: "FK_admin_admin_rank_admin_rank_id",
  35. column: x => x.admin_rank_id,
  36. principalTable: "admin_rank",
  37. principalColumn: "admin_rank_id",
  38. onDelete: ReferentialAction.SetNull);
  39. });
  40. migrationBuilder.CreateTable(
  41. name: "admin_rank_flag",
  42. columns: table => new
  43. {
  44. admin_rank_flag_id = table.Column<int>(nullable: false)
  45. .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
  46. flag = table.Column<string>(nullable: false),
  47. admin_rank_id = table.Column<int>(nullable: false)
  48. },
  49. constraints: table =>
  50. {
  51. table.PrimaryKey("PK_admin_rank_flag", x => x.admin_rank_flag_id);
  52. table.ForeignKey(
  53. name: "FK_admin_rank_flag_admin_rank_admin_rank_id",
  54. column: x => x.admin_rank_id,
  55. principalTable: "admin_rank",
  56. principalColumn: "admin_rank_id",
  57. onDelete: ReferentialAction.Cascade);
  58. });
  59. migrationBuilder.CreateTable(
  60. name: "admin_flag",
  61. columns: table => new
  62. {
  63. admin_flag_id = table.Column<int>(nullable: false)
  64. .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
  65. flag = table.Column<string>(nullable: false),
  66. negative = table.Column<bool>(nullable: false),
  67. admin_id = table.Column<Guid>(nullable: false)
  68. },
  69. constraints: table =>
  70. {
  71. table.PrimaryKey("PK_admin_flag", x => x.admin_flag_id);
  72. table.ForeignKey(
  73. name: "FK_admin_flag_admin_admin_id",
  74. column: x => x.admin_id,
  75. principalTable: "admin",
  76. principalColumn: "user_id",
  77. onDelete: ReferentialAction.Cascade);
  78. });
  79. migrationBuilder.CreateIndex(
  80. name: "IX_admin_admin_rank_id",
  81. table: "admin",
  82. column: "admin_rank_id");
  83. migrationBuilder.CreateIndex(
  84. name: "IX_admin_flag_admin_id",
  85. table: "admin_flag",
  86. column: "admin_id");
  87. migrationBuilder.CreateIndex(
  88. name: "IX_admin_rank_flag_admin_rank_id",
  89. table: "admin_rank_flag",
  90. column: "admin_rank_id");
  91. }
  92. protected override void Down(MigrationBuilder migrationBuilder)
  93. {
  94. migrationBuilder.DropTable(
  95. name: "admin_flag");
  96. migrationBuilder.DropTable(
  97. name: "admin_rank_flag");
  98. migrationBuilder.DropTable(
  99. name: "admin");
  100. migrationBuilder.DropTable(
  101. name: "admin_rank");
  102. }
  103. }
  104. }