chore: seeder for city and province
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
import { Logger } from "@nestjs/common";
|
||||
|
||||
import { connectionSource } from "./connection";
|
||||
import { seedAdmin } from "./seeders/admin.seeder";
|
||||
import { seedNotifSettings } from "./seeders/notif-setting.seeder";
|
||||
import { seedPaymentGateways } from "./seeders/payment-gateway.seeder";
|
||||
import { seedRole } from "./seeders/role.seeder";
|
||||
// import { seedAdmin } from "./seeders/admin.seeder";
|
||||
import { seedCityAndProvince } from "./seeders/iran-city.seeder";
|
||||
// import { seedNotifSettings } from "./seeders/notif-setting.seeder";
|
||||
// import { seedPaymentGateways } from "./seeders/payment-gateway.seeder";
|
||||
// import { seedRole } from "./seeders/role.seeder";
|
||||
|
||||
const logger = new Logger("Seeder");
|
||||
|
||||
@@ -12,10 +13,11 @@ export const runSeeder = async () => {
|
||||
await connectionSource.initialize();
|
||||
logger.log("start seeding database");
|
||||
//
|
||||
await seedRole(connectionSource, logger);
|
||||
await seedAdmin(connectionSource, logger);
|
||||
await seedNotifSettings(connectionSource, logger);
|
||||
await seedPaymentGateways(connectionSource, logger);
|
||||
// await seedRole(connectionSource, logger);
|
||||
// await seedAdmin(connectionSource, logger);
|
||||
// await seedNotifSettings(connectionSource, logger);
|
||||
// await seedPaymentGateways(connectionSource, logger);
|
||||
await seedCityAndProvince(connectionSource, logger);
|
||||
|
||||
logger.log("seeding completed");
|
||||
process.exit(0);
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
import { Logger } from "@nestjs/common";
|
||||
import { DataSource } from "typeorm";
|
||||
|
||||
import { City } from "../../src/modules/address/entities/city.entity";
|
||||
import { Province } from "../../src/modules/address/entities/province.entity";
|
||||
import provincesData from "../data/json/ostan.json";
|
||||
import citiesData from "../data/json/shahr.json";
|
||||
|
||||
export const seedCityAndProvince = async (dataSource: DataSource, logger: Logger) => {
|
||||
try {
|
||||
const provinceRepo = dataSource.getRepository(Province);
|
||||
const cityRepo = dataSource.getRepository(City);
|
||||
|
||||
for (const province of provincesData) {
|
||||
const newProvince = provinceRepo.create({ name: province.name });
|
||||
await provinceRepo.save(newProvince);
|
||||
}
|
||||
|
||||
for (const city of citiesData) {
|
||||
const province = await provinceRepo.findOne({ where: { id: city.ostan } });
|
||||
if (province) {
|
||||
const newCity = cityRepo.create({ name: city.name, province });
|
||||
await cityRepo.save(newCity);
|
||||
}
|
||||
}
|
||||
|
||||
logger.log("City and Province seeding completed");
|
||||
} catch (error) {
|
||||
logger.error("Error in seeding City and Province", error);
|
||||
process.exit(1);
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user