MENU

Blog

ブログ

2024.07.23

[Coudflare D1]d1でdrizzle migration 時のerrorの解消方法 — ✘ [ERROR] A prepared SQL statement must contain only one statement. [code: 7500]

d1でdrizzleを用いてmigrationをする際にA prepared SQL statement must contain only one statement. [code: 7500]というエラーが出ました。

この原因はズバリ、drizzleがマイグレーション時に作成するsqlファイルのコメントである/**/ の部分があるためです。
d1とdrizzleを使う際は生成されたsqlファイルの/**/ 部分を削除する修正しましょう。

--> statement-breakpoint  の部分は削除しなくても良いです。

migrationsで作成されたsqlファイルのコメントを削除しましょう

~~~ sqlは削除せずにコメントを削除。 ~~~~~
/*
SQLite does not support "Set default to column" out of the box, we do not generate automatic migration for that, so it has to be done manually
Please refer to: https://www.techonthenet.com/sqlite/tables/alter_table.php
https://www.sqlite.org/lang_altertable.html
https://stackoverflow.com/questions/2083543/modify-a-columns-type-in-sqlite3


Due to that we don't generate migration automatically and it has to be done manually
*/

d1は新しく開発されたものであるためこのようなエラーをよく見かけます。今後修正されていくのを待って安定して使えるプロダクトになっていくのを期待して新しい技術も積極的に利用していきたいと考えております。

最後まで見てくださりありがとうございます。
web制作やweb開発でご相談ありましたら、お気軽にご連絡ください!

ブログカテゴリー

WEB開発