[TIL]NestJS学習21日目
1490 ワード
いどう
移行は、データベース内の既存のデータを保持し、他のデータモデルと同期できる漸進的な更新モードを提供します.
また、TypeORMは、移行の作成、実行、およびリカバリのための専用CLIを提供します.
しかし、移行と「最近」は異なる概念であり、移行のライフサイクルはTypeORM CLIによって決定される.
複数のデータベース
プロジェクトの進行中に複数のデータベースを使用する必要がある場合があります.
これはモジュールによって実現できる.
const defaultOptions = {
type: 'postgres',
port: 5432,
username: 'user',
password: 'password',
database: 'db',
synchronize: true,
};
@Module({
imports: [
TypeOrmModule.forRoot({
...defaultOptions,
host: 'user_db_host',
entities: [User],
}),
TypeOrmModule.forRoot({
...defaultOptions,
name: 'albumsConnection',
host: 'album_db_host',
entities: [Album],
}),
],
})
export class AppModule {}
これはapp User
とAlbum
を接続に追加するコードです.次いで、
TypeOrmModule.forFeature()
の方法を使用して、@InjectRepository()
を接続する必要がある部分で使用する.テスト
カスタムプロバイダからmock repositoryを作成できます.
登録されているrepositoryは、エンティティクラスのEntityNameを持つ
<EntityName>Repository
個のタグを自動的に表します.getRepositoryToken()
で用意したコインを返却できます.@Module({
providers: [
UsersService,
{
provide: getRepositoryToken(User),
useValue: mockRepository,
},
],
})
export class UsersModule {}
クラスが@InjectRepository()
を使用する必要がある場合、Nestはmock Repositoryを使用します.Reference
この問題について([TIL]NestJS学習21日目), 我々は、より多くの情報をここで見つけました https://velog.io/@ingyocode/TIL-NestJS-공부-21일차テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol