@@ -66,6 +66,8 @@ if Code.ensure_loaded?(Sqlitex.Server) do
66
66
value
67
67
% { } = value ->
68
68
Ecto.Adapter . json_library ( ) . encode! ( value )
69
+ value when is_list ( value ) ->
70
+ Ecto.Adapter . json_library ( ) . encode! ( value )
69
71
value ->
70
72
value
71
73
end
@@ -496,7 +498,8 @@ if Code.ensure_loaded?(Sqlitex.Server) do
496
498
[ @ pseudo_returning_statement , cmd , ?\s , fields ]
497
499
end
498
500
499
- defp ecto_to_db ( { :array , _ } ) do
501
+ defp ecto_to_db ( { :array , data } ) do
502
+ require IEx ; IEx . pry
500
503
raise ArgumentError , "Array type is not supported by SQLite"
501
504
end
502
505
@@ -772,7 +775,7 @@ if Code.ensure_loaded?(Sqlitex.Server) do
772
775
defp column_type ( :string , _opts ) , do: "TEXT"
773
776
defp column_type ( :map , _opts ) , do: "TEXT"
774
777
defp column_type ( { :map , _ } , _opts ) , do: "TEXT"
775
- defp column_type ( { :array , _ } , _opts ) , do: raise ( ArgumentError , "Array type is not supported by SQLite" )
778
+ defp column_type ( { :array , :map } , _opts ) , do: "TEXT"
776
779
defp column_type ( :decimal , opts ) do
777
780
# We only store precision and scale for DECIMAL.
778
781
precision = Keyword . get ( opts , :precision )
0 commit comments