タイトルの構成で、マイグレーションが実行できる一歩手前までの環境構築を行う。
環境構築手順
1. Dockerの設定
1-1. Dockerfile
1-2. docker-compose.yml
今回はWeb GUI上でDBの操作を行いたいのでpgadmin4も導入しておく。
1-3 .dockerignore
1-4. ビルド
上記コマンドを叩きコンテナが起動していればOK。
もしMac・Docker Desktopを利用していてビルドが失敗する際は下記の方法で解決するかも。
【Docker】ビルドが.docker/buildx/current:permission deniedとエラーになる
2. コンテナに入る
以後はコンテナ内で作業していく。
3. Nestプロジェクトの作成
と聞かれるのでnpm
を選択。
localhost:3000
にアクセスしてHello World!
が表示されればアプリ側はOK。
コンテナを立ち上げる際に各種npmパッケージのインストールを行いたいので、Dockerfile
に追記しておく。
4. Fastifyに切り替え
main.ts
を書き換える。
5. pgAdminからDBに接続する
下記に沿ってpgAdminにログインし、PostgresのDBに接続できることを確認する。
【Docker】pgAdmin4でPostgreSQLに接続&永続化する
6. DBの接続情報
6-1. 環境変数に設定
6-2. ConfigModuleの導入
.env
の値を参照するためにconfigService
をDIする。
7. TypeORMの導入
TypeORMの設定専用のモジュールsrc/database/database.module.ts
を作成し、上記のようにConfigService
をDIしてDBへの接続オプションを設定する。
あとはapp.module.ts
でimportすれば設定完了。
npm run start:dev
してエラーが吐かれていないことを確認。
次のステップ
NestJS × TypeORM 0.3 でCLIからmigrationする
12