AcehCitySeeder.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. const prisma = require('../../../src/prisma/PrismaClient.js');
  2. const timeLocal = require('../../../src/utils/TimeLocal.js')
  3. const cityNames = [
  4. 'Kabupaten Aceh Barat',
  5. 'Kabupaten Aceh Barat Daya',
  6. 'Kabupaten Aceh Besar',
  7. 'Kabupaten Aceh Jaya',
  8. 'Kabupaten Aceh Selatan',
  9. 'Kabupaten Aceh Singkil',
  10. 'Kabupaten Aceh Tamiang',
  11. 'Kabupaten Aceh Tengah',
  12. 'Kabupaten Aceh Tenggara',
  13. 'Kabupaten Aceh Timur',
  14. 'Kabupaten Aceh Utara',
  15. 'Kabupaten Bener Meriah',
  16. 'Kabupaten Bireuen',
  17. 'Kabupaten Gayo Lues',
  18. 'Kabupaten Nagan Raya',
  19. 'Kabupaten Pidie',
  20. 'Kabupaten Pidie Jaya',
  21. 'Kabupaten Simeulue',
  22. 'Kota Banda Aceh',
  23. 'Kota Langsa',
  24. 'Kota Lhokseumawe',
  25. 'Kota Sabang',
  26. 'Kota Subulussalam'
  27. // 23
  28. ];
  29. exports.seedAcehCities = async () => {
  30. const province = await prisma.province.findFirst({
  31. where: { name: 'Aceh' },
  32. });
  33. if (!province) {
  34. console.error('❌ Province Aceh not found. Seed it first.');
  35. return;
  36. }
  37. for (const name of cityNames) {
  38. await prisma.city.upsert({
  39. where: {
  40. name_province_id: {
  41. name,
  42. province_id: province.id,
  43. },
  44. },
  45. create: {
  46. name,
  47. province_id: province.id,
  48. updatedAt: timeLocal.now().toDate()
  49. },
  50. update: {
  51. updatedAt: timeLocal.now().toDate()
  52. }
  53. });
  54. }
  55. console.log('✅ Aceh City seeded!.');
  56. };