首页 > 解决方案 > 当服务器启动nestjs时,只运行一次代码并插入到数据库中

问题描述

我有一个带有方法创建权限的权限服务。


export class PermissionService {
    constructor(
        @InjectRepository(Permission)
        private readonly permissionRepository: Repository<Permission>
    ) { }

    async createPermission(perArr: CreatePermissionDTO[]) {
        for (let i = 0; i < perArr.length; i++) {
            console.log(perArr[i]);
            const permission = await this.permissionRepository.findOne({ pcode: perArr[i].pcode });
            if (!permission) {
                let permissionObject = {
                    pcode: perArr[i].pcode,
                    permissionName: perArr[i].permissionName
                }
                await this.permissionRepository.insert(permissionObject)
            }
        }
        return null
    }
}


我的另一个文件是权限常量文件

export let permissionListArry = [
    {
        pcode : 'P-CREATE-USER',
        permissionName : 'User with this permission can create User'
    }
]

我只想在嵌套 js 服务器启动时运行一次创建权限方法。我在我的 app.module.ts 文件上尝试了 OnModuleInit,但似乎不起作用。

标签: typescriptnestjs

解决方案


推荐阅读