コンテンツにスキップ

6-2 帳簿を用意する(作成・binding・migrations)

Plan: Free費用: 0円Wrangler 4.126.0公式ドキュメント取得日 2026-08-27
新しい帳簿に番号札が付き、登録票に取り出し口が書かれる
帳簿を作り、登録票に取り出し口を 1 行足し、罫線を引きます。

新しい帳簿を使うには、帳簿そのものを用意し、受付のどこから開けるかを決め、表の罫線を引きます。罫線を後から変えるなら、その履歴も残します。

いま読んでいるこのサイト(Cloudflare Lab)でも、この順で帳簿を用意します。この節は公式の手順を整理したもので、実測は実装後に追記します。

ここでは、作成、取り出し口、罫線、変更履歴の順に見ます。

Learning goals

この節でできるようになること

  • wrangler d1 create で何が起きるかを説明できる
  • d1_databases binding の 3 つの欄を言える
  • schema と migrations の違いを説明できる
  • --local と --remote の使い分けを言える

帳簿は店ごと・用途ごとに 1 冊ずつ作ります。名前を付けて本部に登録すると、帳簿の番号が返ってきます。

Cloudflare では、npx wrangler d1 create <名前> で帳簿を作ります。公式の手順では、作成後に Wrangler が店舗登録票(wrangler.jsonc)へ取り出し口を自動で足すかを尋ねます。

次の命令は「prod-d1-tutorial という名前の帳簿を作る」ものです。読めなくても大丈夫です。

Terminal window
npx wrangler d1 create prod-d1-tutorial

実行すると、帳簿の名前と ID が表示され、登録票に書く内容が案内されます。

本部の窓口で帳簿の名前を伝えると番号付きの帳簿が出る
帳簿の作成は命令 1 つで、番号は本部が発行します。

本部の窓口に帳簿の名前を伝えると、番号付きの新しい帳簿が用意されます。

つまり、帳簿の作成は命令 1 つで、番号は本部が発行します。

マニュアル(Worker)から帳簿を開くには、登録票に「この名前で、この帳簿を」と 1 行足します。第 2 章で棚をつないだ ASSETS binding と同じ考え方です。

Cloudflare では、wrangler.jsoncd1_databases に書きます。公式の例では、binding(マニュアルから呼ぶ名前)、database_name(帳簿の名前)、database_id(帳簿の番号)の三つです。

次の設定は「prod_d1_tutorial という名前で、この帳簿を開けるようにする」という意味です。読めなくても大丈夫です。

"d1_databases": [
{
"binding": "prod_d1_tutorial",
"database_name": "prod-d1-tutorial",
"database_id": "<unique-ID>"
}
]

実物では、マニュアルの中で env.prod_d1_tutorial のように呼びます。名前は登録票とコードで揃えます。

登録票の 1 行が帳簿への取り出し口になる
binding はマニュアルから帳簿を呼ぶ名前の登録です。

登録票の 1 行が、受付の裏の帳簿への取り出し口になります。名前・帳簿名・番号の三つで 1 組です。

つまり、binding は「マニュアルから帳簿を呼ぶ名前」の登録です。

真っ白な帳簿には、まず表の形(どんな列があるか)を決めて罫線を引きます。

公式の手順では、schema.sql に表を作る SQL を書き、npx wrangler d1 execute <帳簿名> --local --file=./schema.sql で手元の帳簿に、--remote で本番の帳簿に適用します。

次の命令は「手元の帳簿に、schema.sql の罫線を引く」ものです。読めなくても大丈夫です。

Terminal window
npx wrangler d1 execute prod-d1-tutorial --local --file=./schema.sql

--local(手元の帳簿)

手元のパソコンの中にある練習用の帳簿に適用します。壊しても本番に影響しません。

--remote(本番の帳簿)

Cloudflare 上の本番の帳簿に適用します。deploy 前に、本番にも同じ罫線を引きます。
手元の帳簿で罫線を試し、本番の帳簿にも同じ罫線を引く
罫線は手元 → 本番の順で適用します。

手元の帳簿で罫線を試してから、本番の帳簿にも同じ罫線を引きます。順番を守ると、本番を壊しません。

つまり、罫線は schema.sql に書き、手元 → 本番の順で適用します。

帳簿を使い始めた後で列を足したいとき、罫線を直接書き換えると「いつ何を変えたか」が分からなくなります。

Cloudflare では、罫線の変更を migrations で管理します。公式は、各 migration を migrations フォルダの .sql ファイルとして保存し、ファイル名の版番号の順に適用する仕組みだと説明しています。作る(create)・未適用を一覧する(list)・適用する(apply)の三つの操作があり、適用の履歴は帳簿の d1_migrations という表に記録されます。

実物では、最初の罫線も migration として作っておくと、後の変更と同じ流れで扱えます。

番号付きの罫線変更の紙が束ねられている
migrations は罫線の変更履歴で、順番に適用します。

罫線の変更が番号付きの紙になって束ねられています。番号の順に、帳簿の罫線を引き直していきます。

つまり、migrations は罫線の変更履歴で、順番に適用します。

ここで紹介した手順が、いま読んでいる Cloudflare Lab でどう使われるかを見ます。

Cloudflare Lab は Phase 2 で、npx wrangler d1 create cloudflare-lab-verify のような名前で帳簿を 1 冊作り、wrangler.jsoncd1_databases を足し、検証結果の表を最初の migration として引く予定です。実測(帳簿の名前・番号・最初の migration の内容)は実装後に追記します。

  • wrangler d1 create で帳簿を作り、番号が発行されます。
  • d1_databases の binding・database_name・database_id で取り出し口を登録します。
  • 罫線は schema.sql と migrations で、手元 → 本番の順に適用します。

この節で出てきた言葉を、つながりの順に並べると次のようになります。

図のラベル: 帳簿を作る wrangler d1 create / 取り出し口を登録 d1_databases binding / 罫線を引く schema.sql / 手元で試す --local / 本番に適用 --remote / 変更履歴 migrations create / list / apply

次の節では、マニュアルから帳簿を読み書きします。

この節のチェック

問 1帳簿を作る命令はどれですか?

問 2wrangler.jsonc の d1_databases に書く 3 つの欄はどれですか?

問 3手元の練習用の帳簿に罫線を引く命令の書き方はどれですか?

問 4migrations の説明として正しいものはどれですか?

問 5migrations の適用履歴が記録される場所はどれですか?

最終更新日: