nestjs+typeorm+mysql
项目中连接多个数据库,原本有一个数据库,数据库配置无name,项目无问题,现在又加一个数据库,俩个数据库分别指定了别名,根据nestjs文档,增加了数据库配置,在注入的时候指定了数据库(别名name指定),在module里分别把每个实体类指定了特定数据库的表
在只增加了第一个数据库别名,注入的时候指定数据库,module里实体指定数据库,项目无法运行,开始运行,然后马上中断,无报错。
在增加了第一个数据库别名和第二个数据库配置,注入的时候指定数据库,module里实体指定数据库,
运行会报错,报错为找不到默认的数据库
在第一个数据库不加name别名,第二个加配置,指定数据库,modules里实体指定数据库,无报错,但是用第二个数据库的Repository查找,查找的结果实在第一个数据库查找的,相当于第二个数据库没生效
import { Module } from '@nestjs/common';
import {WaitCozeService } from './waitcoze.service';
import { PassportModule } from '@nestjs/passport';
import { JwtModule } from '@nestjs/jwt';
import {WaitCozeController } from './waitcoze.controller';
import { TypeOrmModule } from '@nestjs/typeorm';
// import { WaitCoze } from './waitcoze.entity';
import { User } from '../../user/entity/user.entity';
import { Group, GroupMap } from '../../group/entity/group.entity';
import { GroupMessage } from '../../group/entity/groupMessage.entity';
import { UserMap } from '../../friend/entity/friend.entity';
import { FriendMessage } from '../../friend/entity/friendMessage.entity';
@Module({
imports: [
// TypeOrmModule.forFeature([User, Group, GroupMap, GroupMessage, UserMap, FriendMessage]),
TypeOrmModule.forFeature([User],'chat'),
TypeOrmModule.forFeature([Group],'chat'),
TypeOrmModule.forFeature([GroupMap],'chat'),
TypeOrmModule.forFeature([GroupMessage],'chat'),
TypeOrmModule.forFeature([UserMap],'chat'),
TypeOrmModule.forFeature([FriendMessage],'chat'),
],
controllers: [WaitCozeController],
providers: [WaitCozeService],
})
export class WaitCozeModule {}
感觉是第二个数据库没连接上,还有一个默认数据库的问题
问题解决:
必须一个数据库为默认数据库,别名就叫default,没有这个指定数据库别名就会报错