20241009225800_ExpandedBaseItemFields.cs 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. using System;
  2. using Microsoft.EntityFrameworkCore.Migrations;
  3. #nullable disable
  4. namespace Jellyfin.Server.Implementations.Migrations
  5. {
  6. /// <inheritdoc />
  7. public partial class ExpandedBaseItemFields : Migration
  8. {
  9. /// <inheritdoc />
  10. protected override void Up(MigrationBuilder migrationBuilder)
  11. {
  12. migrationBuilder.DropColumn(
  13. name: "Images",
  14. table: "BaseItems");
  15. migrationBuilder.DropColumn(
  16. name: "LockedFields",
  17. table: "BaseItems");
  18. migrationBuilder.DropColumn(
  19. name: "TrailerTypes",
  20. table: "BaseItems");
  21. migrationBuilder.AlterColumn<int>(
  22. name: "ExtraType",
  23. table: "BaseItems",
  24. type: "INTEGER",
  25. nullable: true,
  26. oldClrType: typeof(string),
  27. oldType: "TEXT",
  28. oldNullable: true);
  29. migrationBuilder.AlterColumn<int>(
  30. name: "Audio",
  31. table: "BaseItems",
  32. type: "INTEGER",
  33. nullable: true,
  34. oldClrType: typeof(string),
  35. oldType: "TEXT",
  36. oldNullable: true);
  37. migrationBuilder.CreateTable(
  38. name: "BaseItemImageInfos",
  39. columns: table => new
  40. {
  41. Id = table.Column<Guid>(type: "TEXT", nullable: false),
  42. Path = table.Column<string>(type: "TEXT", nullable: false),
  43. DateModified = table.Column<DateTime>(type: "TEXT", nullable: false),
  44. ImageType = table.Column<int>(type: "INTEGER", nullable: false),
  45. Width = table.Column<int>(type: "INTEGER", nullable: false),
  46. Height = table.Column<int>(type: "INTEGER", nullable: false),
  47. Blurhash = table.Column<byte[]>(type: "BLOB", nullable: true),
  48. ItemId = table.Column<Guid>(type: "TEXT", nullable: false)
  49. },
  50. constraints: table =>
  51. {
  52. table.PrimaryKey("PK_BaseItemImageInfos", x => x.Id);
  53. table.ForeignKey(
  54. name: "FK_BaseItemImageInfos_BaseItems_ItemId",
  55. column: x => x.ItemId,
  56. principalTable: "BaseItems",
  57. principalColumn: "Id",
  58. onDelete: ReferentialAction.Cascade);
  59. });
  60. migrationBuilder.CreateTable(
  61. name: "BaseItemMetadataFields",
  62. columns: table => new
  63. {
  64. Id = table.Column<int>(type: "INTEGER", nullable: false),
  65. ItemId = table.Column<Guid>(type: "TEXT", nullable: false)
  66. },
  67. constraints: table =>
  68. {
  69. table.PrimaryKey("PK_BaseItemMetadataFields", x => new { x.Id, x.ItemId });
  70. table.ForeignKey(
  71. name: "FK_BaseItemMetadataFields_BaseItems_ItemId",
  72. column: x => x.ItemId,
  73. principalTable: "BaseItems",
  74. principalColumn: "Id",
  75. onDelete: ReferentialAction.Cascade);
  76. });
  77. migrationBuilder.CreateTable(
  78. name: "BaseItemTrailerTypes",
  79. columns: table => new
  80. {
  81. Id = table.Column<int>(type: "INTEGER", nullable: false),
  82. ItemId = table.Column<Guid>(type: "TEXT", nullable: false)
  83. },
  84. constraints: table =>
  85. {
  86. table.PrimaryKey("PK_BaseItemTrailerTypes", x => new { x.Id, x.ItemId });
  87. table.ForeignKey(
  88. name: "FK_BaseItemTrailerTypes_BaseItems_ItemId",
  89. column: x => x.ItemId,
  90. principalTable: "BaseItems",
  91. principalColumn: "Id",
  92. onDelete: ReferentialAction.Cascade);
  93. });
  94. migrationBuilder.CreateIndex(
  95. name: "IX_BaseItemImageInfos_ItemId",
  96. table: "BaseItemImageInfos",
  97. column: "ItemId");
  98. migrationBuilder.CreateIndex(
  99. name: "IX_BaseItemMetadataFields_ItemId",
  100. table: "BaseItemMetadataFields",
  101. column: "ItemId");
  102. migrationBuilder.CreateIndex(
  103. name: "IX_BaseItemTrailerTypes_ItemId",
  104. table: "BaseItemTrailerTypes",
  105. column: "ItemId");
  106. }
  107. /// <inheritdoc />
  108. protected override void Down(MigrationBuilder migrationBuilder)
  109. {
  110. migrationBuilder.DropTable(
  111. name: "BaseItemImageInfos");
  112. migrationBuilder.DropTable(
  113. name: "BaseItemMetadataFields");
  114. migrationBuilder.DropTable(
  115. name: "BaseItemTrailerTypes");
  116. migrationBuilder.AlterColumn<string>(
  117. name: "ExtraType",
  118. table: "BaseItems",
  119. type: "TEXT",
  120. nullable: true,
  121. oldClrType: typeof(int),
  122. oldType: "INTEGER",
  123. oldNullable: true);
  124. migrationBuilder.AlterColumn<string>(
  125. name: "Audio",
  126. table: "BaseItems",
  127. type: "TEXT",
  128. nullable: true,
  129. oldClrType: typeof(int),
  130. oldType: "INTEGER",
  131. oldNullable: true);
  132. migrationBuilder.AddColumn<string>(
  133. name: "Images",
  134. table: "BaseItems",
  135. type: "TEXT",
  136. nullable: true);
  137. migrationBuilder.AddColumn<string>(
  138. name: "LockedFields",
  139. table: "BaseItems",
  140. type: "TEXT",
  141. nullable: true);
  142. migrationBuilder.AddColumn<string>(
  143. name: "TrailerTypes",
  144. table: "BaseItems",
  145. type: "TEXT",
  146. nullable: true);
  147. }
  148. }
  149. }