Проблема с использованием Nest JS с TypeOrm для подключения к базе данных MySQL - PullRequest
1 голос
/ 22 марта 2020

Я использую Nest JS с TypeOrm для подключения к MySQL, но возвращает ошибку: «Не найдено хранилище для« User ». Похоже, эта сущность не зарегистрирована в текущем соединении по умолчанию? '

Без TypeOrm я могу запустить сервер.

"Пользователь" - это моя сущность.

app.module

@Module({
    imports: [
        TypeOrmModule.forRoot({
            type: 'mysql',
            host: 'localhost',
            port: 3306,
            username: 'root',
            password: '',
            database: 'myserver',
            entities: [`${__dirname}/**/*.entity{.ts,.js}`],
            synchronize: true,
            logging: true
        }),
        UserModule
    ],
    controllers: [AppController],
    providers: [AppService],
})
export class AppModule {
    constructor(
        private connection: Connection,
    ) { }
}

user.module

@Module({
    imports: [
        TypeOrmModule.forFeature([
            User,
        ]),
    ],
    providers: [
        UserService,
    ],
    controllers: [
        UserController,
    ]
})
export class UserModule { }

user.entity

@Entity('user')
export class User extends BaseEntity {

    @Column()
    name?: string;
    @Column({ name: 'last_name' })
    lastName?: string;

    @Column({ default: false })
    active?: boolean;
}

Может кто-нибудь сказать мне, пожалуйста, в чем дело?

Спасибо за помощь!

1 Ответ

0 голосов
/ 24 марта 2020

Решено перенести конфигурацию TypeOrm в другой файл. См. Ниже:

app.module

@Module({
    imports: [
        TypeOrmModule.forRoot(),
        UserModule
    ],
    controllers: [AppController],
    providers: [AppService],
})
export class AppModule {
    constructor(
        private connection: Connection,
    ) { }
}

ormconfig. json

{
    "type": "mysql",
    "host": "localhost",
    "port": 3306,
    "username": "root",
    "password": "",
    "database": "myserver",
    "synchronize": true,
    "logging": true,
    "autoLoadEntities": true,
    "entities": ["./src/**/*.entity{.ts,.js}", "./dist/**/*.entity.js"]
}
...