SumateraBaratCitySeeder.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. const prisma = require('../../../src/prisma/PrismaClient.js');
  2. const timeLocal = require('../../../src/utils/TimeLocal.js')
  3. const cityNames = [
  4. 'Kabupaten Agam',
  5. 'Kabupaten Dharmasraya',
  6. 'Kabupaten Kepulauan Mentawai',
  7. 'Kabupaten Lima Puluh Kota',
  8. 'Kabupaten Padang Pariaman',
  9. 'Kabupaten Pasaman',
  10. 'Kabupaten Pasaman Barat',
  11. 'Kabupaten Pesisir Selatan',
  12. 'Kabupaten Sijunjung',
  13. 'Kabupaten Solok',
  14. 'Kabupaten Solok Selatan',
  15. 'Kabupaten Tanah Datar',
  16. 'Kota Bukittinggi',
  17. 'Kota Padang',
  18. 'Kota Padang Panjang',
  19. 'Kota Pariaman',
  20. 'Kota Payakumbuh',
  21. 'Kota Sawahlunto',
  22. 'Kota Solok'
  23. // 19
  24. ];
  25. exports.seedSumateraBaratCities = async () => {
  26. const province = await prisma.province.findFirst({
  27. where: { name: 'Sumatera Barat' },
  28. });
  29. if (!province) {
  30. console.error('❌ Province Sumatera Barat not found. Seed it first.');
  31. return;
  32. }
  33. for (const name of cityNames) {
  34. await prisma.city.upsert({
  35. where: {
  36. name_province_id: {
  37. name,
  38. province_id: province.id,
  39. },
  40. },
  41. update: { updatedAt: timeLocal.now().toDate() },
  42. create: {
  43. name,
  44. province_id: province.id,
  45. createdAt: timeLocal.now().toDate()
  46. },
  47. });
  48. }
  49. console.log('✅ Sumatera Barat City seeded!.');
  50. };