1
0

20230503001749_AdminNotesImprovement.cs 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710
  1. using System;
  2. using Microsoft.EntityFrameworkCore.Migrations;
  3. using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
  4. #nullable disable
  5. namespace Content.Server.Database.Migrations.Postgres
  6. {
  7. /// <inheritdoc />
  8. public partial class AdminNotesImprovement : Migration
  9. {
  10. /// <inheritdoc />
  11. protected override void Up(MigrationBuilder migrationBuilder)
  12. {
  13. migrationBuilder.DropForeignKey(
  14. name: "FK_admin_notes_player_created_by_id",
  15. table: "admin_notes");
  16. migrationBuilder.DropForeignKey(
  17. name: "FK_admin_notes_player_deleted_by_id",
  18. table: "admin_notes");
  19. migrationBuilder.DropForeignKey(
  20. name: "FK_admin_notes_player_last_edited_by_id",
  21. table: "admin_notes");
  22. migrationBuilder.DropForeignKey(
  23. name: "FK_admin_notes_player_player_user_id",
  24. table: "admin_notes");
  25. migrationBuilder.DropCheckConstraint(
  26. name: "HaveEitherAddressOrUserIdOrHWId",
  27. table: "server_ban");
  28. migrationBuilder.RenameColumn(
  29. name: "user_id",
  30. table: "server_role_ban",
  31. newName: "player_user_id");
  32. migrationBuilder.RenameIndex(
  33. name: "IX_server_role_ban_user_id",
  34. table: "server_role_ban",
  35. newName: "IX_server_role_ban_player_user_id");
  36. migrationBuilder.RenameColumn(
  37. name: "user_id",
  38. table: "server_ban",
  39. newName: "player_user_id");
  40. migrationBuilder.RenameIndex(
  41. name: "IX_server_ban_user_id",
  42. table: "server_ban",
  43. newName: "IX_server_ban_player_user_id");
  44. migrationBuilder.RenameColumn(
  45. name: "shown_to_player",
  46. table: "admin_notes",
  47. newName: "secret");
  48. migrationBuilder.UpdateData(
  49. table: "admin_notes",
  50. keyColumn: "secret",
  51. keyValue: false,
  52. column: "secret",
  53. value: true);
  54. migrationBuilder.AddColumn<bool>(
  55. name: "hidden",
  56. table: "server_role_ban",
  57. type: "boolean",
  58. nullable: false,
  59. defaultValue: true);
  60. migrationBuilder.AddColumn<DateTime>(
  61. name: "last_edited_at",
  62. table: "server_role_ban",
  63. type: "timestamp with time zone",
  64. nullable: true);
  65. migrationBuilder.AddColumn<Guid>(
  66. name: "last_edited_by_id",
  67. table: "server_role_ban",
  68. type: "uuid",
  69. nullable: true);
  70. migrationBuilder.AddColumn<TimeSpan>(
  71. name: "playtime_at_note",
  72. table: "server_role_ban",
  73. type: "interval",
  74. nullable: false,
  75. defaultValue: new TimeSpan(0, 0, 0, 0, 0));
  76. migrationBuilder.AddColumn<int>(
  77. name: "round_id",
  78. table: "server_role_ban",
  79. type: "integer",
  80. nullable: true);
  81. migrationBuilder.AddColumn<int>(
  82. name: "severity",
  83. table: "server_role_ban",
  84. type: "integer",
  85. nullable: false,
  86. defaultValue: 2);
  87. migrationBuilder.AddColumn<bool>(
  88. name: "hidden",
  89. table: "server_ban",
  90. type: "boolean",
  91. nullable: false,
  92. defaultValue: false);
  93. migrationBuilder.AddColumn<DateTime>(
  94. name: "last_edited_at",
  95. table: "server_ban",
  96. type: "timestamp with time zone",
  97. nullable: true);
  98. migrationBuilder.AddColumn<Guid>(
  99. name: "last_edited_by_id",
  100. table: "server_ban",
  101. type: "uuid",
  102. nullable: true);
  103. migrationBuilder.AddColumn<TimeSpan>(
  104. name: "playtime_at_note",
  105. table: "server_ban",
  106. type: "interval",
  107. nullable: false,
  108. defaultValue: new TimeSpan(0, 0, 0, 0, 0));
  109. migrationBuilder.AddColumn<int>(
  110. name: "round_id",
  111. table: "server_ban",
  112. type: "integer",
  113. nullable: true);
  114. migrationBuilder.AddColumn<int>(
  115. name: "severity",
  116. table: "server_ban",
  117. type: "integer",
  118. nullable: false,
  119. defaultValue: 3);
  120. migrationBuilder.AlterColumn<Guid>(
  121. name: "player_user_id",
  122. table: "admin_notes",
  123. type: "uuid",
  124. nullable: true,
  125. oldClrType: typeof(Guid),
  126. oldType: "uuid");
  127. migrationBuilder.AlterColumn<Guid>(
  128. name: "last_edited_by_id",
  129. table: "admin_notes",
  130. type: "uuid",
  131. nullable: true,
  132. oldClrType: typeof(Guid),
  133. oldType: "uuid");
  134. migrationBuilder.AlterColumn<Guid>(
  135. name: "created_by_id",
  136. table: "admin_notes",
  137. type: "uuid",
  138. nullable: true,
  139. oldClrType: typeof(Guid),
  140. oldType: "uuid");
  141. migrationBuilder.AddColumn<DateTime>(
  142. name: "expiration_time",
  143. table: "admin_notes",
  144. type: "timestamp with time zone",
  145. nullable: true);
  146. migrationBuilder.AddColumn<int>(
  147. name: "severity",
  148. table: "admin_notes",
  149. type: "integer",
  150. nullable: false,
  151. defaultValue: 1);
  152. migrationBuilder.AddColumn<TimeSpan>(
  153. name: "playtime_at_note",
  154. table: "admin_notes",
  155. type: "interval",
  156. nullable: false,
  157. defaultValue: new TimeSpan(0, 0, 0, 0, 0));
  158. migrationBuilder.CreateTable(
  159. name: "admin_messages",
  160. columns: table => new
  161. {
  162. admin_messages_id = table.Column<int>(type: "integer", nullable: false)
  163. .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
  164. round_id = table.Column<int>(type: "integer", nullable: true),
  165. player_user_id = table.Column<Guid>(type: "uuid", nullable: true),
  166. playtime_at_note = table.Column<TimeSpan>(type: "interval", nullable: false),
  167. message = table.Column<string>(type: "character varying(4096)", maxLength: 4096, nullable: false),
  168. created_by_id = table.Column<Guid>(type: "uuid", nullable: true),
  169. created_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
  170. last_edited_by_id = table.Column<Guid>(type: "uuid", nullable: true),
  171. last_edited_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
  172. expiration_time = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
  173. deleted = table.Column<bool>(type: "boolean", nullable: false),
  174. deleted_by_id = table.Column<Guid>(type: "uuid", nullable: true),
  175. deleted_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
  176. seen = table.Column<bool>(type: "boolean", nullable: false)
  177. },
  178. constraints: table =>
  179. {
  180. table.PrimaryKey("PK_admin_messages", x => x.admin_messages_id);
  181. table.ForeignKey(
  182. name: "FK_admin_messages_player_created_by_id",
  183. column: x => x.created_by_id,
  184. principalTable: "player",
  185. principalColumn: "user_id",
  186. onDelete: ReferentialAction.SetNull);
  187. table.ForeignKey(
  188. name: "FK_admin_messages_player_deleted_by_id",
  189. column: x => x.deleted_by_id,
  190. principalTable: "player",
  191. principalColumn: "user_id",
  192. onDelete: ReferentialAction.SetNull);
  193. table.ForeignKey(
  194. name: "FK_admin_messages_player_last_edited_by_id",
  195. column: x => x.last_edited_by_id,
  196. principalTable: "player",
  197. principalColumn: "user_id",
  198. onDelete: ReferentialAction.SetNull);
  199. table.ForeignKey(
  200. name: "FK_admin_messages_player_player_user_id",
  201. column: x => x.player_user_id,
  202. principalTable: "player",
  203. principalColumn: "user_id",
  204. onDelete: ReferentialAction.SetNull);
  205. table.ForeignKey(
  206. name: "FK_admin_messages_round_round_id",
  207. column: x => x.round_id,
  208. principalTable: "round",
  209. principalColumn: "round_id");
  210. });
  211. migrationBuilder.CreateTable(
  212. name: "admin_watchlists",
  213. columns: table => new
  214. {
  215. admin_watchlists_id = table.Column<int>(type: "integer", nullable: false)
  216. .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
  217. round_id = table.Column<int>(type: "integer", nullable: true),
  218. player_user_id = table.Column<Guid>(type: "uuid", nullable: true),
  219. playtime_at_note = table.Column<TimeSpan>(type: "interval", nullable: false),
  220. message = table.Column<string>(type: "character varying(4096)", maxLength: 4096, nullable: false),
  221. created_by_id = table.Column<Guid>(type: "uuid", nullable: true),
  222. created_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
  223. last_edited_by_id = table.Column<Guid>(type: "uuid", nullable: true),
  224. last_edited_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
  225. expiration_time = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
  226. deleted = table.Column<bool>(type: "boolean", nullable: false),
  227. deleted_by_id = table.Column<Guid>(type: "uuid", nullable: true),
  228. deleted_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: true)
  229. },
  230. constraints: table =>
  231. {
  232. table.PrimaryKey("PK_admin_watchlists", x => x.admin_watchlists_id);
  233. table.ForeignKey(
  234. name: "FK_admin_watchlists_player_created_by_id",
  235. column: x => x.created_by_id,
  236. principalTable: "player",
  237. principalColumn: "user_id",
  238. onDelete: ReferentialAction.SetNull);
  239. table.ForeignKey(
  240. name: "FK_admin_watchlists_player_deleted_by_id",
  241. column: x => x.deleted_by_id,
  242. principalTable: "player",
  243. principalColumn: "user_id",
  244. onDelete: ReferentialAction.SetNull);
  245. table.ForeignKey(
  246. name: "FK_admin_watchlists_player_last_edited_by_id",
  247. column: x => x.last_edited_by_id,
  248. principalTable: "player",
  249. principalColumn: "user_id",
  250. onDelete: ReferentialAction.SetNull);
  251. table.ForeignKey(
  252. name: "FK_admin_watchlists_player_player_user_id",
  253. column: x => x.player_user_id,
  254. principalTable: "player",
  255. principalColumn: "user_id",
  256. onDelete: ReferentialAction.SetNull);
  257. table.ForeignKey(
  258. name: "FK_admin_watchlists_round_round_id",
  259. column: x => x.round_id,
  260. principalTable: "round",
  261. principalColumn: "round_id");
  262. });
  263. migrationBuilder.CreateIndex(
  264. name: "IX_server_role_ban_banning_admin",
  265. table: "server_role_ban",
  266. column: "banning_admin");
  267. migrationBuilder.CreateIndex(
  268. name: "IX_server_role_ban_last_edited_by_id",
  269. table: "server_role_ban",
  270. column: "last_edited_by_id");
  271. migrationBuilder.CreateIndex(
  272. name: "IX_server_role_ban_round_id",
  273. table: "server_role_ban",
  274. column: "round_id");
  275. migrationBuilder.AddCheckConstraint(
  276. name: "HaveEitherAddressOrUserIdOrHWId",
  277. table: "server_role_ban",
  278. sql: "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL");
  279. migrationBuilder.CreateIndex(
  280. name: "IX_server_ban_banning_admin",
  281. table: "server_ban",
  282. column: "banning_admin");
  283. migrationBuilder.CreateIndex(
  284. name: "IX_server_ban_last_edited_by_id",
  285. table: "server_ban",
  286. column: "last_edited_by_id");
  287. migrationBuilder.CreateIndex(
  288. name: "IX_server_ban_round_id",
  289. table: "server_ban",
  290. column: "round_id");
  291. migrationBuilder.AddCheckConstraint(
  292. name: "HaveEitherAddressOrUserIdOrHWId",
  293. table: "server_ban",
  294. sql: "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL");
  295. migrationBuilder.CreateIndex(
  296. name: "IX_admin_messages_created_by_id",
  297. table: "admin_messages",
  298. column: "created_by_id");
  299. migrationBuilder.CreateIndex(
  300. name: "IX_admin_messages_deleted_by_id",
  301. table: "admin_messages",
  302. column: "deleted_by_id");
  303. migrationBuilder.CreateIndex(
  304. name: "IX_admin_messages_last_edited_by_id",
  305. table: "admin_messages",
  306. column: "last_edited_by_id");
  307. migrationBuilder.CreateIndex(
  308. name: "IX_admin_messages_player_user_id",
  309. table: "admin_messages",
  310. column: "player_user_id");
  311. migrationBuilder.CreateIndex(
  312. name: "IX_admin_messages_round_id",
  313. table: "admin_messages",
  314. column: "round_id");
  315. migrationBuilder.CreateIndex(
  316. name: "IX_admin_watchlists_created_by_id",
  317. table: "admin_watchlists",
  318. column: "created_by_id");
  319. migrationBuilder.CreateIndex(
  320. name: "IX_admin_watchlists_deleted_by_id",
  321. table: "admin_watchlists",
  322. column: "deleted_by_id");
  323. migrationBuilder.CreateIndex(
  324. name: "IX_admin_watchlists_last_edited_by_id",
  325. table: "admin_watchlists",
  326. column: "last_edited_by_id");
  327. migrationBuilder.CreateIndex(
  328. name: "IX_admin_watchlists_player_user_id",
  329. table: "admin_watchlists",
  330. column: "player_user_id");
  331. migrationBuilder.CreateIndex(
  332. name: "IX_admin_watchlists_round_id",
  333. table: "admin_watchlists",
  334. column: "round_id");
  335. migrationBuilder.AddForeignKey(
  336. name: "FK_admin_notes_player_created_by_id",
  337. table: "admin_notes",
  338. column: "created_by_id",
  339. principalTable: "player",
  340. principalColumn: "user_id",
  341. onDelete: ReferentialAction.SetNull);
  342. migrationBuilder.AddForeignKey(
  343. name: "FK_admin_notes_player_deleted_by_id",
  344. table: "admin_notes",
  345. column: "deleted_by_id",
  346. principalTable: "player",
  347. principalColumn: "user_id",
  348. onDelete: ReferentialAction.SetNull);
  349. migrationBuilder.AddForeignKey(
  350. name: "FK_admin_notes_player_last_edited_by_id",
  351. table: "admin_notes",
  352. column: "last_edited_by_id",
  353. principalTable: "player",
  354. principalColumn: "user_id",
  355. onDelete: ReferentialAction.SetNull);
  356. migrationBuilder.AddForeignKey(
  357. name: "FK_admin_notes_player_player_user_id",
  358. table: "admin_notes",
  359. column: "player_user_id",
  360. principalTable: "player",
  361. principalColumn: "user_id",
  362. onDelete: ReferentialAction.SetNull);
  363. migrationBuilder.AddForeignKey(
  364. name: "FK_server_ban_player_banning_admin",
  365. table: "server_ban",
  366. column: "banning_admin",
  367. principalTable: "player",
  368. principalColumn: "user_id",
  369. onDelete: ReferentialAction.SetNull);
  370. migrationBuilder.AddForeignKey(
  371. name: "FK_server_ban_player_last_edited_by_id",
  372. table: "server_ban",
  373. column: "last_edited_by_id",
  374. principalTable: "player",
  375. principalColumn: "user_id",
  376. onDelete: ReferentialAction.SetNull);
  377. migrationBuilder.AddForeignKey(
  378. name: "FK_server_ban_round_round_id",
  379. table: "server_ban",
  380. column: "round_id",
  381. principalTable: "round",
  382. principalColumn: "round_id");
  383. migrationBuilder.AddForeignKey(
  384. name: "FK_server_role_ban_player_banning_admin",
  385. table: "server_role_ban",
  386. column: "banning_admin",
  387. principalTable: "player",
  388. principalColumn: "user_id",
  389. onDelete: ReferentialAction.SetNull);
  390. migrationBuilder.AddForeignKey(
  391. name: "FK_server_role_ban_player_last_edited_by_id",
  392. table: "server_role_ban",
  393. column: "last_edited_by_id",
  394. principalTable: "player",
  395. principalColumn: "user_id",
  396. onDelete: ReferentialAction.SetNull);
  397. migrationBuilder.AddForeignKey(
  398. name: "FK_server_role_ban_round_round_id",
  399. table: "server_role_ban",
  400. column: "round_id",
  401. principalTable: "round",
  402. principalColumn: "round_id");
  403. }
  404. /// <inheritdoc />
  405. protected override void Down(MigrationBuilder migrationBuilder)
  406. {
  407. migrationBuilder.DropForeignKey(
  408. name: "FK_admin_notes_player_created_by_id",
  409. table: "admin_notes");
  410. migrationBuilder.DropForeignKey(
  411. name: "FK_admin_notes_player_deleted_by_id",
  412. table: "admin_notes");
  413. migrationBuilder.DropForeignKey(
  414. name: "FK_admin_notes_player_last_edited_by_id",
  415. table: "admin_notes");
  416. migrationBuilder.DropForeignKey(
  417. name: "FK_admin_notes_player_player_user_id",
  418. table: "admin_notes");
  419. migrationBuilder.DropForeignKey(
  420. name: "FK_server_ban_player_banning_admin",
  421. table: "server_ban");
  422. migrationBuilder.DropForeignKey(
  423. name: "FK_server_ban_player_last_edited_by_id",
  424. table: "server_ban");
  425. migrationBuilder.DropForeignKey(
  426. name: "FK_server_ban_round_round_id",
  427. table: "server_ban");
  428. migrationBuilder.DropForeignKey(
  429. name: "FK_server_role_ban_player_banning_admin",
  430. table: "server_role_ban");
  431. migrationBuilder.DropForeignKey(
  432. name: "FK_server_role_ban_player_last_edited_by_id",
  433. table: "server_role_ban");
  434. migrationBuilder.DropForeignKey(
  435. name: "FK_server_role_ban_round_round_id",
  436. table: "server_role_ban");
  437. migrationBuilder.DropTable(
  438. name: "admin_messages");
  439. migrationBuilder.DropTable(
  440. name: "admin_watchlists");
  441. migrationBuilder.DropIndex(
  442. name: "IX_server_role_ban_banning_admin",
  443. table: "server_role_ban");
  444. migrationBuilder.DropIndex(
  445. name: "IX_server_role_ban_last_edited_by_id",
  446. table: "server_role_ban");
  447. migrationBuilder.DropIndex(
  448. name: "IX_server_role_ban_round_id",
  449. table: "server_role_ban");
  450. migrationBuilder.DropCheckConstraint(
  451. name: "HaveEitherAddressOrUserIdOrHWId",
  452. table: "server_role_ban");
  453. migrationBuilder.DropIndex(
  454. name: "IX_server_ban_banning_admin",
  455. table: "server_ban");
  456. migrationBuilder.DropIndex(
  457. name: "IX_server_ban_last_edited_by_id",
  458. table: "server_ban");
  459. migrationBuilder.DropIndex(
  460. name: "IX_server_ban_round_id",
  461. table: "server_ban");
  462. migrationBuilder.DropCheckConstraint(
  463. name: "HaveEitherAddressOrUserIdOrHWId",
  464. table: "server_ban");
  465. migrationBuilder.DropColumn(
  466. name: "hidden",
  467. table: "server_role_ban");
  468. migrationBuilder.DropColumn(
  469. name: "last_edited_at",
  470. table: "server_role_ban");
  471. migrationBuilder.DropColumn(
  472. name: "last_edited_by_id",
  473. table: "server_role_ban");
  474. migrationBuilder.DropColumn(
  475. name: "playtime_at_note",
  476. table: "server_role_ban");
  477. migrationBuilder.DropColumn(
  478. name: "round_id",
  479. table: "server_role_ban");
  480. migrationBuilder.DropColumn(
  481. name: "severity",
  482. table: "server_role_ban");
  483. migrationBuilder.DropColumn(
  484. name: "hidden",
  485. table: "server_ban");
  486. migrationBuilder.DropColumn(
  487. name: "last_edited_at",
  488. table: "server_ban");
  489. migrationBuilder.DropColumn(
  490. name: "last_edited_by_id",
  491. table: "server_ban");
  492. migrationBuilder.DropColumn(
  493. name: "playtime_at_note",
  494. table: "server_ban");
  495. migrationBuilder.DropColumn(
  496. name: "round_id",
  497. table: "server_ban");
  498. migrationBuilder.DropColumn(
  499. name: "severity",
  500. table: "server_ban");
  501. migrationBuilder.DropColumn(
  502. name: "expiration_time",
  503. table: "admin_notes");
  504. migrationBuilder.DropColumn(
  505. name: "severity",
  506. table: "admin_notes");
  507. migrationBuilder.DropColumn(
  508. name: "playtime_at_note",
  509. table: "admin_notes");
  510. migrationBuilder.RenameColumn(
  511. name: "player_user_id",
  512. table: "server_role_ban",
  513. newName: "user_id");
  514. migrationBuilder.RenameIndex(
  515. name: "IX_server_role_ban_player_user_id",
  516. table: "server_role_ban",
  517. newName: "IX_server_role_ban_user_id");
  518. migrationBuilder.RenameColumn(
  519. name: "player_user_id",
  520. table: "server_ban",
  521. newName: "user_id");
  522. migrationBuilder.RenameIndex(
  523. name: "IX_server_ban_player_user_id",
  524. table: "server_ban",
  525. newName: "IX_server_ban_user_id");
  526. migrationBuilder.RenameColumn(
  527. name: "secret",
  528. table: "admin_notes",
  529. newName: "shown_to_player");
  530. migrationBuilder.UpdateData(
  531. table: "admin_notes",
  532. keyColumn: "shown_to_player",
  533. keyValue: true,
  534. column: "shown_to_player",
  535. value: false);
  536. migrationBuilder.AlterColumn<Guid>(
  537. name: "player_user_id",
  538. table: "admin_notes",
  539. type: "uuid",
  540. nullable: false,
  541. defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
  542. oldClrType: typeof(Guid),
  543. oldType: "uuid",
  544. oldNullable: true);
  545. migrationBuilder.AlterColumn<Guid>(
  546. name: "last_edited_by_id",
  547. table: "admin_notes",
  548. type: "uuid",
  549. nullable: false,
  550. defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
  551. oldClrType: typeof(Guid),
  552. oldType: "uuid",
  553. oldNullable: true);
  554. migrationBuilder.AlterColumn<Guid>(
  555. name: "created_by_id",
  556. table: "admin_notes",
  557. type: "uuid",
  558. nullable: false,
  559. defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
  560. oldClrType: typeof(Guid),
  561. oldType: "uuid",
  562. oldNullable: true);
  563. migrationBuilder.AddCheckConstraint(
  564. name: "HaveEitherAddressOrUserIdOrHWId",
  565. table: "server_role_ban",
  566. sql: "address IS NOT NULL OR user_id IS NOT NULL OR hwid IS NOT NULL");
  567. migrationBuilder.AddCheckConstraint(
  568. name: "HaveEitherAddressOrUserIdOrHWId",
  569. table: "server_ban",
  570. sql: "address IS NOT NULL OR user_id IS NOT NULL OR hwid IS NOT NULL");
  571. migrationBuilder.AddForeignKey(
  572. name: "FK_admin_notes_player_created_by_id",
  573. table: "admin_notes",
  574. column: "created_by_id",
  575. principalTable: "player",
  576. principalColumn: "user_id",
  577. onDelete: ReferentialAction.Cascade);
  578. migrationBuilder.AddForeignKey(
  579. name: "FK_admin_notes_player_deleted_by_id",
  580. table: "admin_notes",
  581. column: "deleted_by_id",
  582. principalTable: "player",
  583. principalColumn: "user_id");
  584. migrationBuilder.AddForeignKey(
  585. name: "FK_admin_notes_player_last_edited_by_id",
  586. table: "admin_notes",
  587. column: "last_edited_by_id",
  588. principalTable: "player",
  589. principalColumn: "user_id",
  590. onDelete: ReferentialAction.Cascade);
  591. migrationBuilder.AddForeignKey(
  592. name: "FK_admin_notes_player_player_user_id",
  593. table: "admin_notes",
  594. column: "player_user_id",
  595. principalTable: "player",
  596. principalColumn: "user_id",
  597. onDelete: ReferentialAction.Cascade);
  598. }
  599. }
  600. }