35 lines
1.0 KiB
TypeScript
35 lines
1.0 KiB
TypeScript
import { db } from "./src/db";
|
|
import { group, opinion, zone, province } from "./src/schema.ts";
|
|
import { Groups, Opinions, Provinces, Districts } from "./initialData.ts";
|
|
|
|
async function main() {
|
|
const isInitialized = await db.query.group
|
|
.findMany()
|
|
.then((groups) => groups.length > 0);
|
|
if (isInitialized) {
|
|
console.log("Already initialized");
|
|
return;
|
|
}
|
|
let groupValues = Groups.map((group) => ({ name: group }));
|
|
await db.insert(group).values(groupValues);
|
|
let opinionValues = Opinions.map((opinion) => ({
|
|
name: opinion.name,
|
|
type: opinion.choicemode,
|
|
}));
|
|
await db.insert(opinion).values(opinionValues);
|
|
let provinceValues = Provinces.map((province) => ({
|
|
id: province.code,
|
|
name: province.name_th,
|
|
}));
|
|
await db.insert(province).values(provinceValues);
|
|
const zoneValues = Districts.map((district) => ({
|
|
id: district.code,
|
|
name: district.name_th,
|
|
province: district.province_code,
|
|
}));
|
|
await db.insert(zone).values(zoneValues);
|
|
console.log("Done");
|
|
}
|
|
|
|
main();
|