D1 のオープンベータは 2023年10月に開始しました。新規作成したデータベースは、信頼性と性能が大きく向上した別の基盤アーキテクチャを使い、データベースサイズの拡大、クエリスループットの向上、レイテンシの低減に対応しています。
このガイドでは、アルファ版の D1 データベースを本番利用可能なシステム上に再作成する手順を説明します。
wranglerコマンドラインツール をインストール済みであることwranglerのバージョンが3.33.0以降(2024年3月リリース)であること。それより前のバージョンには、このガイドで必要な--remoteフラグ がありません- 「アルファ」の D1 データベースがあること。2023年7月27日より前に作成したデータベースはすべて(リリースノート)、アルファストレージバックエンドを使っています。このバックエンドはサポート終了済みで、本番利用は推奨されていませんでした。
npx wrangler d1 info <database_name>データベースがアルファの場合、コマンドの出力に version が alpha と表示されます。
...
│ version │ alpha │
...npx wrangler d1 backup create <alpha_database_name>次のコマンドで、アルファデータベースの手動バックアップを .sqlite3 ファイルとしてダウンロードします。
npx wrangler d1 backup download <alpha_database_name> <backup_id> # See available backups with wrangler d1 backup list <database_name>次のコマンドで、ダウンロードした .sqlite3 ファイルからアルファデータベースの手動バックアップを SQL 文に変換します。その後、新しいデータベースにインポートできます。
sqlite3 db_dump.sqlite3 .dump > db.sql上記のコマンドを実行したら、出力された SQL ファイルを D1 と互換になるよう編集します。
-
ファイルから
BEGIN TRANSACTIONとCOMMIT;を削除します。 -
次のテーブル作成文を削除します。
CREATE TABLE _cf_KV ( key TEXT PRIMARY KEY, value BLOB ) WITHOUT ROWID;
新しい D1 データベースは、すべて更新済みアーキテクチャを既定で使います。
次のコマンドで新しいデータベースを作成します。
npx wrangler d1 create <new_database_name>npx wrangler d1 execute <new_database_name> --remote --file=./db.sql以前のアルファデータベースを削除するには、次を実行します。
npx wrangler d1 delete <alpha_database_name>