Nest typeorm

1545 ワード

 @DeleteDateColumn()
 이것과
 @Column('date',{()=>"CURRENT_TIMESTAMP}) 과 동일함
これらは公式文書を見てこそ知ることができる.
AutoLoadEntitiesはType OrmModuleです.forFeatureでのみエンティティを自動的に接続
一番外にいない場合は、移行時にエラーが発生する可能性があります.
この場合ormconfigなどの区切り文字は使用されず、
appmoduleに直接設定するとprocessenvが読み取れない現象が発生しました
これはconfigモジュールを作成する前に作成されたためです.
解決策はforRootAsyncに変更されました.
forRootAsync({
	inject:[ConfigService],
    useFactory:async()=>{
    	return(
        	type:"mysql")
同じ感じに変えなければなりません.
typeorm seeding, migration
typeormシード、fakerなどのライブラリを使用してシードロードできます
tableのmigrationを使用してソースコードを一度に処理します.
ロールバックも可能
npx typeorm migration:create-n categoryToTypeこのように
npx typeorm migration:generate-n categoryToTypeなどは、レポートエンティティを変更することで処理できます
npm run typeorm migration:generate -- -
で、typeormは簡単なtypeormではありません.
"typeorm": "ts-node --require tsconfig-paths/register ./node_modules/typeorm/cli.js",
これは命令です.
既存のdtoをコピーしてpicktypeにインポートできる場合は、タグの部分にあります.
Openapi/partial typesからnestjsの公式ドキュメントにアクセス
dbもdiが必要です.表はEntity
container=>service=>repository=>エンティティ・サービスがrepositoryを介してエンティティにクエリーを発行する感覚
リポジトリを作成した理由.また、diを使用する理由は、テストの用途が最も大きいためです.
ドラゴンのrepositoryをテスト時にdiで置き換えると、実際のdbではなくobjectに書き込むことができます.これは簡単です.
dto側で検証しない場合、サービス側はthrow new errorを直接投げ出す可能性があります.
RepositoryはimportにTypeOrmModuleを加えたものですforFeature(エンティティ名)として
asyncはpromissionでthrowの場合、何の問題もないように正常に解決した感じで処理しました.未定義の処理を返します.
そのため、例外ハンドラとして処理する必要があります.