Javascript 如何在NestJS中使用多个sequelize DB连接
我正在使用NestJS中的示例来说明如何设置Sequelize DB连接。如何使用Sequelize和TypeScript for NestJS设置到两个以上数据库的连接。您只需在Javascript 如何在NestJS中使用多个sequelize DB连接,javascript,node.js,typescript,nestjs,sequelize-typescript,Javascript,Node.js,Typescript,Nestjs,Sequelize Typescript,我正在使用NestJS中的示例来说明如何设置Sequelize DB连接。如何使用Sequelize和TypeScript for NestJS设置到两个以上数据库的连接。您只需在数据库提供程序中设置多个Sequelize连接即可: export const databaseProviders = [ { provide: 'SequelizeCatToken', useFactory: async () => { const sequelize = new
数据库提供程序中设置多个Sequelize连接即可:
export const databaseProviders = [
{
provide: 'SequelizeCatToken',
useFactory: async () => {
const sequelize = new Sequelize({
dialect: 'mysql',
host: 'localhost',
port: 3306,
username: 'catroot',
password: 'catpassword',
database: 'cats',
});
sequelize.addModels([Cat]);
await sequelize.sync();
return sequelize;
},
},
{
provide: 'SequelizeDogToken',
useFactory: async () => {
const sequelize = new Sequelize({
dialect: 'mysql',
host: 'localhost',
port: 3306,
username: 'doogroot',
password: 'dogpassword',
database: 'dogs',
});
sequelize.addModels([Dog]);
await sequelize.sync();
return sequelize;
},
},
];
您必须为连接使用名称
,这是必须的
const defaultOptions = {
dialect: 'postgres',
port: 5432,
username: 'user',
password: 'password',
database: 'db',
synchronize: true,
};
@Module({
imports: [
SequelizeModule.forRoot({
...defaultOptions,
host: 'user_db_host',
models: [User],
}),
SequelizeModule.forRoot({
...defaultOptions,
name: 'albumsConnection',
host: 'album_db_host',
models: [Album],
}),
],
})
export class AppModule {}
以下是中的文档