From 3fb66d345f4e5b3ee161bc9bc8e9199e5190f4e9 Mon Sep 17 00:00:00 2001 From: chenos Date: Tue, 26 Apr 2022 00:19:31 +0800 Subject: [PATCH] feat(plugin-china-region): import data with sqlite --- packages/plugins/china-region/src/server.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/plugins/china-region/src/server.ts b/packages/plugins/china-region/src/server.ts index 7a95837c7..367c98037 100644 --- a/packages/plugins/china-region/src/server.ts +++ b/packages/plugins/china-region/src/server.ts @@ -1,5 +1,5 @@ +import { Database } from '@nocobase/database'; import { Plugin } from '@nocobase/server'; -import { areas, cities, provinces } from 'china-division'; import { resolve } from 'path'; export class ChinaRegionPlugin extends Plugin { @@ -18,6 +18,15 @@ export class ChinaRegionPlugin extends Plugin { const timer = Date.now(); const ChinaRegion = this.db.getModel('chinaRegions'); + const db = new Database({ + dialect: 'sqlite', + storage: resolve(process.cwd(), 'node_modules/china-division/dist/data.sqlite'), + }); + + const [provinces] = await db.sequelize.query('SELECT `code`, `name` FROM `province`') as any; + const [cities] = await db.sequelize.query('SELECT `code`, `name`, `provinceCode` FROM `city`') as any; + const [areas] = await db.sequelize.query('SELECT `code`, `name`, `cityCode` FROM `area`') as any; + await ChinaRegion.bulkCreate( provinces.map((item) => ({ code: item.code,