20260618080342_SeedGameLanguages.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using Microsoft.EntityFrameworkCore.Migrations;
  2. #nullable disable
  3. namespace Infrastructure.Migrations.AppDb
  4. {
  5. /// <inheritdoc />
  6. public partial class SeedGameLanguages : Migration
  7. {
  8. /// <inheritdoc />
  9. protected override void Up(MigrationBuilder migrationBuilder)
  10. {
  11. migrationBuilder.Sql(@"
  12. INSERT INTO [GameLanguage] ([KorName], [EngName], [Order], [IsActive], [CreatedAt])
  13. SELECT v.[KorName], v.[EngName], v.[Order], 1, SYSUTCDATETIME()
  14. FROM (VALUES
  15. (N'한국어', N'Korean', 1),
  16. (N'영어', N'English', 2),
  17. (N'일본어', N'Japanese', 3),
  18. (N'중국어(간체)', N'Simplified Chinese', 4),
  19. (N'중국어(번체)', N'Traditional Chinese', 5),
  20. (N'스페인어', N'Spanish', 6),
  21. (N'프랑스어', N'French', 7),
  22. (N'독일어', N'German', 8),
  23. (N'이탈리아어', N'Italian', 9),
  24. (N'포르투갈어', N'Portuguese', 10),
  25. (N'러시아어', N'Russian', 11),
  26. (N'태국어', N'Thai', 12),
  27. (N'베트남어', N'Vietnamese', 13),
  28. (N'인도네시아어', N'Indonesian', 14)
  29. ) AS v([KorName], [EngName], [Order])
  30. WHERE NOT EXISTS (SELECT 1 FROM [GameLanguage] g WHERE g.[KorName] = v.[KorName]);
  31. ");
  32. }
  33. /// <inheritdoc />
  34. protected override void Down(MigrationBuilder migrationBuilder)
  35. {
  36. migrationBuilder.Sql(@"
  37. DELETE g
  38. FROM [GameLanguage] g
  39. WHERE g.[KorName] IN (
  40. N'한국어', N'영어', N'일본어', N'중국어(간체)', N'중국어(번체)',
  41. N'스페인어', N'프랑스어', N'독일어', N'이탈리아어', N'포르투갈어',
  42. N'러시아어', N'태국어', N'베트남어', N'인도네시아어'
  43. )
  44. AND NOT EXISTS (SELECT 1 FROM [GameLanguageSupport] s WHERE s.[GameLanguageID] = g.[ID]);
  45. ");
  46. }
  47. }
  48. }