I use PostgreSQL and UUID datatype.
To generate proper UUID you need to set annotation to
@property DibiLiteral $uuid
so resulting SQL looks like this:
INSERT INTO
"public"."user"
(uuid, email)
VALUES
(uuid_generate_v4(), 'john@doe.com')
If I instead use string as datatype of property, INSERT fails cos uuid_generate_v4 function is wrapped in quotes in resulting SQL.
Problem with DibiLiteral annotation is when accessing $entity->uuid. Since property is annotated as DibiLiteral and DB in fact returns string, LeanMapper throws exeption. So I tried to use this form for annotation
@property string|DibiLiteral $uuid
This crashed EntityReflection at this exact point cos regex didn't matches anything.
Can you suggest any idea how to solve this. I don't want to give up on using Postgre's UUIDs.
I use PostgreSQL and UUID datatype.
To generate proper UUID you need to set annotation to
so resulting SQL looks like this:
If I instead use
stringas datatype of property, INSERT fails cosuuid_generate_v4function is wrapped in quotes in resulting SQL.Problem with
DibiLiteralannotation is when accessing$entity->uuid. Since property is annotated as DibiLiteral and DB in fact returns string, LeanMapper throws exeption. So I tried to use this form for annotationThis crashed EntityReflection at this exact point cos regex didn't matches anything.
Can you suggest any idea how to solve this. I don't want to give up on using Postgre's UUIDs.