🗂
d1にインポートするときはBIGIN TRANSACTION とCOMMIT;を削除する
はじめに
d1にローカルのデータをインポートするために、
sqliteファイルから.sqlファイルを作ってインポートで困ったので残します。
.sql
ファイルを作成する
terminal
sqlite3 db.sqlite .dump > db.sql
BEGIN TRANSACTIONとCOMMIT;を削除しなければいけない
作ったファイルをそのまま実行してはいけません。
ファイルからBEGIN TRANSACTIONとCOMMIT;を削除します。
db.sql
- BEGIN TRANSACTION;
....
- COMMIT;
本番に実行
teminal
npx wrangler d1 execute d1-database --remote --file=./db.sql
おわりに
ドキュメントは読みましょうという自戒
sqliteとd1は互換がない部分もいくつかあるため知っておかないといけないと思いました。
参考
Discussion