アルファデータベース移行ガイド
D1のオープンベータ版は2023年10月に開始され、新しく作成されたデータベースは、信頼性とパフォーマンスが大幅に向上した異なる基盤アーキテクチャを使用しており、データベースサイズの増加、クエリスループットの改善、レイテンシの低減が実現されています。
このガイドでは、アルファD1データベースを本番環境に適したシステム上で再作成する方法を説明します。
wranglerコマンドラインツールがインストールされていることwranglerのバージョンが3.33.0以上(2024年3月リリース)であること。以前のバージョンには、このガイドの一部として必要な--remoteフラグがありません。- ‘alpha’ 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> # 利用可能なバックアップは 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>