【NestJS/TypeORM/MySQL】entityとmigrationの作成フォルダを指定する【ormconfig.json】

【NestJS/TypeORM/MySQL】entityとmigrationの作成フォルダを指定する【ormconfig.json】

はじめに

コジマです。

【NestJS/TypeORM/MySQL】TypeORM CLIでテーブルを作ってみよう
この時にはフォルダの出力先をpackage.jsonに指定しましたが、
ormconfig.jsonに指定するように修正します。

やること

  1. ormconfig.jsonの修正
  2. package.jsonの修正
  3. 動作確認

ormconfig.jsonの修正

  "cli": {
     "entitiesDir": "src/entities",
     "migrationsDir": "src/migrations",
     "subscribersDir": "src/subscribers"
  },

を追加して出力先を指定します。
フォルダ名を単数形にしている記事も結構ありますが、複数形のほうが個人的には好きです。

いつやるかわからないsubscribersのディレクトリも追加しておきます。

package.jsonの修正

-dで指定していたフォルダを削除します。(変更前知りたい人は前記事を参照してください。)

    "typeorm:entity:create": "npx ts-node ./node_modules/typeorm/cli entity:create -n",
    "typeorm:migration:generate": "npx ts-node ./node_modules/typeorm/cli migration:generate -n",

動作確認

タスク管理ツールを作りましょう。なイメージでtasksというentityを作ってみます。

npm run typeorm:entity:create tasks

を実行

> hello-world@0.0.1 typeorm:entity:create C:\work\crush-course\hello-world      
> npx ts-node ./node_modules/typeorm/cli entity:create -d src/entities -n "tasks"

Entity C:\work\crush-course\hello-world/src/entities/tasks.ts has been created successfully.

-d オプション相当の処理をやってくれましたね。

さいごに

TypeORMの設定はTypeORMの設定ファイルにあるほうが
分かりやすくていいですね。

公式のドキュメントのリンク貼っておきますね。
https://github.com/typeorm/typeorm/blob/master/docs/using-ormconfig.md#using-ormconfigjson
https://github.com/typeorm/typeorm/blob/master/docs/connection-options.md

この記事を面白いまたは役に立ったと思ってくれた方は是非私のTwitter(@kojimanotech)を
フォローしてくれたらうれしいです!

以上、コジマでした。


NestJSカテゴリの最新記事