@@ -368,6 +368,7 @@ function util_dict2entity(props_dict::Dict{Symbol,T},
368368 # If attribute is already of the right type do nothing
369369 if isa (props_dict[fsymbol],ftype)
370370 continue
371+
371372 # Override some properties
372373 elseif ftype <: UUID
373374 if ismissing (props_dict[fsymbol])
@@ -407,6 +408,7 @@ function util_dict2entity(props_dict::Dict{Symbol,T},
407408 match (r" ^([0-9]{4}-[0-9]{2}-[0-9]{2})" ,
408409 props_dict[fsymbol])
409410 props_dict[fsymbol] = Date (date_match. match)
411+
410412 elseif ftype <: Time
411413 if (ismissing (props_dict[fsymbol]))
412414 continue
@@ -416,15 +418,23 @@ function util_dict2entity(props_dict::Dict{Symbol,T},
416418 match (r" ([0-9]{2}:[0-9]{2}:[0-9]{2})" ,
417419 props_dict[fsymbol])
418420 props_dict[fsymbol] = Time (time_match. match)
421+
419422 elseif ftype <: Vector{String}
420423 if (ismissing (props_dict[fsymbol]))
421424 continue
422425 end
423426 # @info props_dict[fsymbol]
424427 props_dict[fsymbol] =
425428 PostgresORMUtil. postgresql_string_array_2_string_vector (props_dict[fsymbol])
429+
426430 elseif ftype <: Vector{T} where T <: Base.Enums.Enum
427- props_dict[fsymbol] = string2vector_of_enums (ftype,props_dict[fsymbol])
431+
432+ if isa (props_dict[fsymbol],Union{Vector{T},Vector{Union{T,Missing}}} where T <: Integer )
433+ props_dict[fsymbol] = vector_of_integers2vector_of_enums (ftype,props_dict[fsymbol])
434+ else
435+ props_dict[fsymbol] = string2vector_of_enums (ftype,props_dict[fsymbol])
436+ end
437+
428438 elseif ftype <: Enum
429439
430440 if ismissing (props_dict[fsymbol])
0 commit comments