@admin bro/nestjs与@admin bro/sequalize和mysql?获取错误NoResourceA



与'@admin bro/sequalize'面临相同问题NoResourceAdapterError:没有适配器支持您提供的资源之一

import { Database, Resource } from '@admin-bro/sequelize';
import { AdminModule } from '@admin-bro/nestjs';
AdminBro.registerAdapter({ Database, Resource });

SequelizeModule.forRoot({
dialect: 'mysql',
host: process.env.DATABASE_HOST,
port: +process.env.DATABASE_PORT,
username: process.env.DATABASE_USERNAME,
password: process.env.DATABASE_PASSWORD,
database: process.env.DATABASE_NAME,
models: [__dirname + '/**/*.model.ts'],
logging: console.log
}),

AdminModule.createAdmin({ adminBroOptions: { rootPath: '/admin', resources: [{ resource: User, options: {} }], } }),

@Table({
modelName: 'user',
timestamps: false
})
export class User extends Model {
}

这种情况可以通过下面的答案来解决。这是一个问题,实体必须扩展"BaseEntity"才能在管理兄弟中使用它。

AdminBro-无资源适配器错误

我在所有导入之后,在app.module.ts的顶层添加了以下代码,从而解决了这个问题:

(async () => {
const AdminJSSequelize = await import('@adminjs/sequelize');
const AdminJS = (await import('adminjs')).AdminJS;
AdminJS.registerAdapter({
Resource: AdminJSSequelize.Resource,
Database: AdminJSSequelize.Database,
});
})();

最新更新