TypeORMでテーブルのレコード削除をする際、大量のレコードを全て削除したい場合があると思います。
その際、以下のコードで実現可能です。
削除したいテーブル(Entity)のクラス名を仮に"TestEntity"とします
他のテーブル(Entity)と外部参照がないテーブルにおいては以下のclear()が使えます
これがSQLのTRUNCATE TABLEにあたります。
connection.createQueryRunner()
.manager.clear(TestEntity)
外部参照キーが設定されている場合は、TRUNCATEできないため、代わりにdelete().from()を使います。
connection.createQueryBuilder()
.delete()
.from(TestEntity)
.execute()
これで全件削除完了です。delete().from()を使って削除する場合は、DBのスペックに処理時間が依存しますので、その点だけご注意ください。
-参考記事-
Delete using Query Builder