diff --git a/packages/ui/certd-server/src/modules/auto/auto-init-site.ts b/packages/ui/certd-server/src/modules/auto/auto-init-site.ts index 15ff2746..e8d91d70 100644 --- a/packages/ui/certd-server/src/modules/auto/auto-init-site.ts +++ b/packages/ui/certd-server/src/modules/auto/auto-init-site.ts @@ -1,4 +1,4 @@ -import { Autoload, Init, Inject, Scope, ScopeEnum } from '@midwayjs/core'; +import { Autoload, Config, Init, Inject, Scope, ScopeEnum } from '@midwayjs/core'; import { logger } from '../../utils/logger.js'; import { UserService } from '../authority/service/user-service.js'; import { SysSettingsService } from '../system/service/sys-settings-service.js'; @@ -17,12 +17,16 @@ export class AutoInitSite { @Inject() userService: UserService; + @Config('typeorm.dataSource.default.type') + dbType: string; + @Inject() sysSettingsService: SysSettingsService; @Init() async init() { logger.info('初始化站点开始'); + this.startOptimizeDb(); //安装信息 const installInfo: SysInstallInfo = await this.sysSettingsService.getSetting(SysInstallInfo); if (!installInfo.siteId) { @@ -57,4 +61,17 @@ export class AutoInitSite { logger.info('初始化站点完成'); } + + startOptimizeDb() { + //优化数据库 + //检查当前数据库类型为sqlite + if (this.dbType === 'better-sqlite3') { + const optimizeDb = () => { + this.userService.repository.query('VACUUM'); + logger.info('sqlite数据库空间优化完成'); + }; + optimizeDb(); + setInterval(optimizeDb, 1000 * 60 * 60 * 24); + } + } } diff --git a/packages/ui/certd-server/src/modules/mine/service/user-settings-service.ts b/packages/ui/certd-server/src/modules/mine/service/user-settings-service.ts index e2409344..b74ddec1 100644 --- a/packages/ui/certd-server/src/modules/mine/service/user-settings-service.ts +++ b/packages/ui/certd-server/src/modules/mine/service/user-settings-service.ts @@ -30,10 +30,7 @@ export class UserSettingsService extends BaseService { }; } - async getByKey( - key: string, - userId: number - ): Promise { + async getByKey(key: string, userId: number): Promise { if (!key || !userId) { return null; }