追記:2024年1月13日
この問題はH2 Databaseのバージョン2.2.220以降でサポートされたそうです。
postgresql compatibility: add gen_random_uuid function · Issue #3899 · h2database/h2database · GitHub
H2 Databaseにテーブルを作成する際にgen_random_uuid関数が見つからないとエラーになってしまいました。
DROP TABLE if exists sample CASCADE;
CREATE TABLE sample (
id uuid DEFAULT gen_random_uuid()
) ;
SQL State : 90022
Error Code : 90022
Message : 関数 "gen_random_uuid" が見つかりません
Function "gen_random_uuid" not found; SQL statement:
CREATE TABLE sample (
id uuid DEFAULT gen_random_uuid()
) [90022-214]
CREATE TABLEよりも先にエイリアスを作成しておくとエラーを回避できます。
DROP ALIAS IF EXISTS gen_random_uuid;
CREATE ALIAS gen_random_uuid AS '
import java.util.UUID;
@CODE
java.util.UUID genRandomUuid() throws Exception {
return UUID.randomUUID();
}
';
DROP TABLE if exists sample CASCADE;
CREATE TABLE sample (
id uuid DEFAULT gen_random_uuid()
) ;
https://www.h2database.com/html/commands.html
コメント