【Hasura】原因不明なエラー。例えばinvalid input syntax for type integer

こんにちは。フリーランスエンジニアの太田雅昭です。

Hasuraで原因不明のエラー

今回は、invalid input syntax for type integerといったエラーでしたが、まったく原因が不明でした。String型のカラムにString型を指定してインサートしようとしたら、いやIntegerだよと言われても、いやいやいや、といった具合です。

ChatGPT先生にお伺いしても、結局分からずじまい。ネットをあさっているとふと、ヒントになるものを見つけました。

原因はパーミッションだった

Hasuraのパーミッション設定は、Hasuraの代名詞といってもいいほどの強力な機能です。ただエラー内容が分かりにくく、今回のようなことが起きてしまいました。Hasuraのパーミッション周りで毎回時間が溶けていきます。

Hasuraではパーミッションによるエラーは、それ以外のメッセージが出力されたりします。例えば今回なら、全く関係のない型相違のエラーが出ていました。またSelectの場合は、そもそもそのようなデータはないといった風に扱われます。これは便利な時もあるのですが、何が起こっているのかが分かりづらいため、開発中は難儀することも多いです。

結論

Hasuraのエラーが出た時は、真っ先にパーミッションを疑う癖をつけたいです。

小話

最近なか卯の親子丼が美味しくなった気がします。気のせいでしょうか?あるいは、店長が変わったのかもしれません。