はじめに
私が初めてsupabaseに触ったこともあり、database functionsを追加しようとして永遠にsyntax errorが出るという事象に遭遇しました。
めちゃくちゃ初歩的な勘違いだったのですが、同じことをやっている人もいると思うので一応共有です。
詰まった手順
database functionsを作るんだからまずは右にタブからdatabaseを選択して、その中のfunctionsを選択しました。
そしてその中でcreate a new functionボタンがあったのでクリックしました。
そして、以下のdefinitionのところでfunctionを作るsqlを入力しました。
でもconfirmを押すと以下のエラーメッセージ
Failed to create database function: failed to create pg.functions: syntax error at or near "CREATE"
Createの部分って一番最初じゃん、おかしいなと思いつつ、色々syntaxを修正してもエラーが一生消えません。
解決した手順
公式データベースの以下の部分を見たときに気づきました。
https://supabase.com/docs/guides/database/functions#getting-started
そもそもdatabase functionsを作るからdatabaseタブにいくことが間違いでした。
最初にSQLエディターを選択して、そこに直打ちすればよかったです。
その後database functionsのタブに行くと、作成したfunctionが表示されていました。
補足
databaseタブのfunctionsから編集する場合には
BEGINからENDまでの間を書けば良いです。
function名とか諸々の設定は、フォームの上の方で入力する感じですね。