ローカル開発
Hyperdriveは、あなたのマシン上で実行されている任意のローカルデータベースインスタンスに直接接続することで、Workersをローカルで開発およびテストする際に使用できます。ローカル開発では、ローカル開発セッションと状態を管理するために、WorkersのコマンドラインインターフェースであるWranglerを使用します。
ローカルで開発する際に接続するデータベースを指定するには、次の方法があります。
- 推奨
WRANGLER_HYPERDRIVE_LOCAL_CONNECTION_STRING_<BINDING_NAME>という環境変数を作成し、データベースの接続文字列を設定します。<BINDING_NAME>は、wrangler.tomlまたはPages設定でHyperdriveに割り当てられたバインディングの名前です。これにより、テスト/開発データベースが一時的でない場合、wrangler.tomlに潜在的に機密性の高い資格情報をコミットするのを避けることができます。複数のHyperdriveバインディングを設定している場合は、各バインディングのユニークな名前で<BINDING_NAME>を置き換えてください。 wrangler.tomlにlocalConnectionStringを設定します。
WRANGLER_HYPERDRIVE_LOCAL_CONNECTION_STRING_<BINDING_NAME>環境変数とwrangler.tomlのlocalConnectionStringの両方が設定されている場合、wrangler devは環境変数を優先して使用します。既存の環境変数を解除するには、unset WRANGLER_HYPERDRIVE_LOCAL_CONNECTION_STRING_<BINDING_NAME>を使用します。
例えば、環境変数を使用するには、wrangler devを実行する前に環境変数をエクスポートします:
# 設定されたHyperdriveバインディングは「TEST_DB」export WRANGLER_HYPERDRIVE_LOCAL_CONNECTION_STRING_TEST_DB="postgres://user:password@localhost:5432/databasename"# このローカルインスタンスを参照してローカル開発セッションを開始npx wrangler devwrangler.tomlにlocalConnectionStringを設定するには、HyperdriveバインディングにlocalConnectionStringプロパティが設定されていることを確認してください:
[[hyperdrive]]binding = "TEST_DB"id = "c020574a-5623-407b-be0c-cd192bab9545"localConnectionString = "postgres://user:password@localhost:5432/databasename"以下の例では、wranglerのバージョンを確認し、WRANGLER_HYPERDRIVE_LOCAL_CONNECTION_STRING_TEST_DB環境変数を設定し、wrangler devセッションを実行する方法を示します:
# wrangler v3.0+を使用していることを確認npx wrangler --version⛅️ wrangler 3.27.0# 環境変数を設定します:設定されたHyperdriveバインディングは「TEST_DB」です。export WRANGLER_HYPERDRIVE_LOCAL_CONNECTION_STRING_TEST_DB="postgres://user:password@localhost:5432/databasename"# ローカル開発セッションを開始:npx wrangler dev------------------非空のWRANGLER_HYPERDRIVE_LOCAL_CONNECTION_STRING_TEST_DB変数が見つかりました。Hyperdriveはローカル開発中にこのデータベースに接続します。
wrangler devはデフォルトでローカルモードを使用し、🔥 Miniflareと👷 workerdによって動作します。Workerのエッジプレビューセッションを実行するには、wrangler dev --remoteを使用してください。あなたのWorkerは次のバインディングにアクセスできます:- Hyperdrive設定: - TEST_DB: c020574a-5623-407b-be0c-cd192bab9545⎔ ローカルサーバーを開始中...
[mf:inf] http://127.0.0.1:8787/で準備完了[b] ブラウザを開く、[d] Devtoolsを開く、[l] ローカルモードをオフにする、[c] コンソールをクリアする、[x] 終了するwrangler devはローカルデータと本番(リモート)データを分離します。ローカルセッションはデフォルトで本番データにアクセスできません。本番(リモート)Hyperdrive設定にアクセスするには、wrangler devを呼び出す際に--remoteフラグを渡してください。--remoteモードで実行中に行った変更は元に戻すことができません。
ローカル開発セッションの設定方法については、wrangler devドキュメントを参照してください。
wrangler devを使用して、WorkerとHyperdriveをローカルで実行し、デプロイ前に問題をデバッグします。- Hyperdriveの動作方法を学びます。
- Hyperdriveでのクエリキャッシングの設定方法を理解します。