メインコンテンツにスキップ

.envファイルの管理と変数の設定

Prisma ORMは、prisma initを使用したプロジェクトの初期化時に、.envファイルを自動的に作成します。このファイルの使用に限定されることはなく、その他のオプションには以下のようなものがあります。

システム環境を直接使用する

Prisma ORMは、環境変数を検索する際にシステムの環境から読み取るため、.envの使用を完全にスキップし、ローカルシステムで手動で作成することができます。

情報

以下の例では、データベース接続URLによく使用されるDATABASE_URL環境変数を設定する例を使用します。

Mac/Linuxシステムで環境変数を手動で設定する

Unixマシン(Mac/Linux)のターミナルから、変数をキーと値のペアとしてエクスポートします。

export DATABASE_URL=postgresql://test:test@localhost:5432/test?schema=public

次に、printenvを使用して正常に設定されていることを確認します。

printenv DATABASE_URL
表示CLI結果
postgresql://test:test@localhost:5432/test?schema=public

Windowsシステムで環境変数を手動で設定する

以下の例は、コマンドプロンプト(cmd.exe)とPowerShellの両方を使用して、現在のユーザーの環境変数を設定する方法を示しています(どちらを使用するかは好みによります)。

set DATABASE_URL="postgresql://test:test@localhost:5432/test?schema=public"

次に、正常に設定されていることを確認します。

set DATABASE_URL

.envファイルを手動で管理する

dotenv-cliおよびdotenvパッケージは、.envファイルを手動で管理したい場合に利用できます。

これにより、次のことが可能になります。

コマンドライン経由でdotenv-cliを使用する

以下の手順は、Prisma ORMによって作成されたデフォルトの環境変数を含むファイルとは別のファイルを使用するために、dotenv-cliパッケージを使用する方法を示しています。これは、イントロスペクションを実行するために使用されます。

  1. dotenv-cliをインストールします。

    npm install -g dotenv-cli
  2. プロジェクトのルートフォルダに、たとえば.env3のようなファイルを作成します。

  3. .env3ファイルを使用するには、任意のPrisma ORMコマンドを実行する際にdotenvを使用し、どの.envファイルを使用するかを指定できます。次の例では、.env3という名前のファイルを使用します。

    dotenv -e .env3 -- npx prisma db pull

注:dotenvは、デフォルトではフラグをPrisma ORMコマンドに渡しません。このため、コマンドにはprismaの前に2つのダッシュ--が含まれており、--force--schema、または--preview-featureのようなフラグを使用できます。

アプリケーションコード経由でdotenvを使用する

以下の手順は、プロジェクトのコードで別の環境ファイルを参照するために、dotenvパッケージを使用する方法を示しています。

  1. dotenvをプロジェクトに追加します。

    npm install dotenv
  2. プロジェクトのルートフォルダに、たとえば.env3のようなファイルを作成します。

  3. .env3ファイルを使用するには、プロジェクトのエントリーファイルの先頭にdotenvへの参照を含めます。

    import { config } from 'dotenv'
    config({ path: '.env3' })