20250120035304_UpdateFieldInBannerItem.cs 4.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. using System;
  2. using Microsoft.EntityFrameworkCore.Migrations;
  3. #nullable disable
  4. namespace bitforum.Migrations.DefaultDb
  5. {
  6. /// <inheritdoc />
  7. public partial class UpdateFieldInBannerItem : Migration
  8. {
  9. /// <inheritdoc />
  10. protected override void Up(MigrationBuilder migrationBuilder)
  11. {
  12. migrationBuilder.CreateTable(
  13. name: "BannerPosition",
  14. columns: table => new
  15. {
  16. ID = table.Column<int>(type: "int", nullable: false)
  17. .Annotation("SqlServer:Identity", "1, 1"),
  18. Code = table.Column<string>(type: "nvarchar(30)", maxLength: 30, nullable: false),
  19. Subject = table.Column<string>(type: "nvarchar(255)", maxLength: 255, nullable: false),
  20. IsActive = table.Column<bool>(type: "bit", nullable: false),
  21. UpdatedAt = table.Column<DateTime>(type: "datetime2", nullable: true),
  22. CreatedAt = table.Column<DateTime>(type: "datetime2", nullable: true)
  23. },
  24. constraints: table =>
  25. {
  26. table.PrimaryKey("PK_BannerPosition", x => x.ID);
  27. });
  28. migrationBuilder.CreateTable(
  29. name: "BannerItem",
  30. columns: table => new
  31. {
  32. ID = table.Column<int>(type: "int", nullable: false)
  33. .Annotation("SqlServer:Identity", "1, 1"),
  34. PositionID = table.Column<int>(type: "int", nullable: false),
  35. Subject = table.Column<string>(type: "nvarchar(255)", maxLength: 255, nullable: false),
  36. Image = table.Column<string>(type: "nvarchar(1024)", maxLength: 1024, nullable: false),
  37. Width = table.Column<int>(type: "int", nullable: false),
  38. Height = table.Column<int>(type: "int", nullable: false),
  39. Link = table.Column<string>(type: "nvarchar(255)", maxLength: 255, nullable: true),
  40. Order = table.Column<int>(type: "int", nullable: false),
  41. IsActive = table.Column<bool>(type: "bit", nullable: false),
  42. StartAt = table.Column<DateTime>(type: "datetime2", nullable: true),
  43. EndAt = table.Column<DateTime>(type: "datetime2", nullable: true),
  44. Views = table.Column<int>(type: "int", nullable: false),
  45. UpdatedAt = table.Column<DateTime>(type: "datetime2", nullable: true),
  46. CreatedAt = table.Column<DateTime>(type: "datetime2", nullable: true)
  47. },
  48. constraints: table =>
  49. {
  50. table.PrimaryKey("PK_BannerItem", x => x.ID);
  51. table.ForeignKey(
  52. name: "FK_BannerItem_BannerPosition_PositionID",
  53. column: x => x.PositionID,
  54. principalTable: "BannerPosition",
  55. principalColumn: "ID",
  56. onDelete: ReferentialAction.Cascade);
  57. });
  58. migrationBuilder.CreateIndex(
  59. name: "IX_BannerItem_IsActive",
  60. table: "BannerItem",
  61. column: "IsActive");
  62. migrationBuilder.CreateIndex(
  63. name: "IX_BannerItem_Order",
  64. table: "BannerItem",
  65. column: "Order");
  66. migrationBuilder.CreateIndex(
  67. name: "IX_BannerItem_PositionID",
  68. table: "BannerItem",
  69. column: "PositionID");
  70. migrationBuilder.CreateIndex(
  71. name: "IX_BannerPosition_Code",
  72. table: "BannerPosition",
  73. column: "Code",
  74. unique: true);
  75. }
  76. /// <inheritdoc />
  77. protected override void Down(MigrationBuilder migrationBuilder)
  78. {
  79. migrationBuilder.DropTable(
  80. name: "BannerItem");
  81. migrationBuilder.DropTable(
  82. name: "BannerPosition");
  83. }
  84. }
  85. }