TypeORMのEntityクラスでJSON型を使う方法

2022.10.31

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

私が現在担当している案件ではTypeORMとPostgreSQLを使っています。PostgreSQLのJSON型を使う場合にエンティティでどのように定義するのかを調べました。

バージョンは以下です。

  • PostgreSQL 13.4
  • TypeORM 0.2.45

調査の結果、以下のように @Column("json") と書けばよいことが分かりました。変数の型はanyで問題ありません。

  @Column("json")
  json_column!: any;

@Column() の引数にはSimpleColumnType型の文字列を入れることができます。SimpleColumnTypeには"jsonb"なども含まれていました。試していませんがPostgreSQLのJSONB型の場合はこちらを使えばよさそうです。

以上になります。