😶
PrismaでMySQLにMigration時「Table 'XXX' doesn't exist」と言われてしまう
現象
PrismaでMigrationの実施時に「Table 'XXX' doesn't exist」とエラーが出てしまう現象
XXXは例えばUserテーブルであればuserの様に小文字になって出力されている
原因
Prismaの生成されるMigrationファイルを見るとCREATE TABLEではテーブル名は大文字になっているが、ALTER TABLEでは小文字になっている。MySQLではデフォルトで厳密にテーブル名の大文字小文字判定をしているので対象のテーブルを探す事が出来ずエラーとなる
CREATE TABLE `User`
ALTER TABLE `user`
対策
MySQLでテーブル名の大文字と小文字を区別しない判定のオプションを設定する。
lower_case_table_names = 1
参考文献
Discussion