seed.ts 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. // prisma/mongo/seed.ts
  2. import { PrismaClient, AdType } from '@prisma/mongo/client';
  3. const prisma = new PrismaClient();
  4. async function main() {
  5. const adsModules = [
  6. {
  7. adType: AdType.STARTUP,
  8. adsModule: '启动页',
  9. moduleDesc: '启动页(10:21)',
  10. seq: 1,
  11. },
  12. {
  13. adType: AdType.CAROUSEL,
  14. adsModule: '轮播',
  15. moduleDesc: '轮播(2:1)',
  16. seq: 2,
  17. },
  18. {
  19. adType: AdType.POPUP_ICON,
  20. adsModule: '弹窗-图标',
  21. moduleDesc: '弹窗-图标(1:1)',
  22. seq: 3,
  23. },
  24. {
  25. adType: AdType.POPUP_IMAGE,
  26. adsModule: '弹窗-图片',
  27. moduleDesc: '弹窗-图片(2:3)',
  28. seq: 4,
  29. },
  30. {
  31. adType: AdType.POPUP_OFFICIAL,
  32. adsModule: '弹窗-官方',
  33. moduleDesc: '弹窗-官方(2:3)',
  34. seq: 5,
  35. },
  36. {
  37. adType: AdType.WATERFALL_ICON,
  38. adsModule: '瀑布流-图标',
  39. moduleDesc: '瀑布流-图标(1:1)',
  40. seq: 6,
  41. },
  42. {
  43. adType: AdType.WATERFALL_TEXT,
  44. adsModule: '瀑布流-文字',
  45. moduleDesc: '瀑布流-文字',
  46. seq: 7,
  47. },
  48. {
  49. adType: AdType.WATERFALL_VIDEO,
  50. adsModule: '瀑布流-视频',
  51. moduleDesc: '瀑布流-视频(8:5)',
  52. seq: 8,
  53. },
  54. {
  55. adType: AdType.FLOATING_BOTTOM,
  56. adsModule: '悬浮-底部',
  57. moduleDesc: '悬浮-底部(1:1)',
  58. seq: 9,
  59. },
  60. {
  61. adType: AdType.FLOATING_EDGE,
  62. adsModule: '悬浮-边缘',
  63. moduleDesc: '悬浮-边缘(1:1)',
  64. seq: 10,
  65. },
  66. {
  67. adType: AdType.BANNER,
  68. adsModule: 'banner',
  69. moduleDesc: 'banner(4:1)',
  70. seq: 11,
  71. },
  72. {
  73. adType: AdType.PREROLL,
  74. adsModule: '片头',
  75. moduleDesc: '片头(8:5)',
  76. seq: 12,
  77. },
  78. {
  79. adType: AdType.PAUSE,
  80. adsModule: '暂停',
  81. moduleDesc: '暂停(2:1)',
  82. seq: 13,
  83. },
  84. ];
  85. await prisma.adsModule.deleteMany();
  86. for (const module of adsModules) {
  87. await prisma.adsModule.create({
  88. data: module,
  89. });
  90. }
  91. }
  92. main()
  93. .then(async () => {
  94. await prisma.$disconnect();
  95. })
  96. .catch(async (e) => {
  97. console.error(e);
  98. await prisma.$disconnect();
  99. process.exit(1);
  100. });