@@ -1626,7 +1626,47 @@ defmodule AshPostgres.MigrationGenerator do
16261626
16271627 right = add_source_and_name_and_schema_and_ignore ( right , repo )
16281628
1629- left != right
1629+ { left , right } =
1630+ case { left . default , right . default } do
1631+ { "fragment(\" uuid_generate_v4()\" )" , "fragment(\" gen_random_uuid()\" )" } ->
1632+ { Map . put ( left , :default , "fragment(\" gen_random_uuid()\" )" ) , right }
1633+
1634+ { "fragment(\" gen_random_uuid()\" )" , "fragment(\" uuid_generate_v4()\" )" } ->
1635+ { Map . put ( left , :default , "fragment(\" uuid_generate_v4()\" )" ) , right }
1636+
1637+ _ ->
1638+ { left , right }
1639+ end
1640+
1641+ { left , right } =
1642+ case { left [ :references ] [ :destination_attribute_default ] ,
1643+ right [ :references ] [ :destination_attribute_default ] } do
1644+ { "fragment(\" uuid_generate_v4()\" )" , "fragment(\" gen_random_uuid()\" )" } ->
1645+ { put_in (
1646+ left ,
1647+ [ :references , :destination_attribute_default ] ,
1648+ "fragment(\" gen_random_uuid()\" )"
1649+ ) , right }
1650+
1651+ { "fragment(\" gen_random_uuid()\" )" , "fragment(\" uuid_generate_v4()\" )" } ->
1652+ { left ,
1653+ put_in (
1654+ right ,
1655+ [ :references , :destination_attribute_default ] ,
1656+ "fragment(\" gen_random_uuid()\" )"
1657+ ) }
1658+
1659+ _ ->
1660+ { left , right }
1661+ end
1662+
1663+ if left != right do
1664+ IO . inspect ( left )
1665+ IO . inspect ( right )
1666+ true
1667+ else
1668+ false
1669+ end
16301670 end
16311671
16321672 defp add_source_and_name_and_schema_and_ignore ( attribute , repo ) do
@@ -2170,14 +2210,11 @@ defmodule AshPostgres.MigrationGenerator do
21702210
21712211 @ uuid_functions [ & Ash.UUID . generate / 0 , & Ecto.UUID . generate / 0 ]
21722212
2173- defp default ( % { default: default } , repo ) when is_function ( default ) do
2213+ defp default ( % { default: default } , _repo ) when is_function ( default ) do
21742214 cond do
2175- default in @ uuid_functions && pg_version_at_least? ( repo , 13 ) ->
2215+ default in @ uuid_functions ->
21762216 ~S[ fragment("gen_random_uuid()")]
21772217
2178- default in @ uuid_functions && "uuid-ossp" in ( repo . config ( ) [ :installed_extensions ] || [ ] ) ->
2179- ~S[ fragment("uuid_generate_v4()")]
2180-
21812218 default == ( & DateTime . utc_now / 0 ) ->
21822219 ~S[ fragment("now()")]
21832220
@@ -2190,12 +2227,6 @@ defmodule AshPostgres.MigrationGenerator do
21902227 defp default ( % { default: nil } , _ ) , do: "nil"
21912228 defp default ( % { default: value } , _ ) , do: EctoMigrationDefault . to_default ( value )
21922229
2193- defp pg_version_at_least? ( repo , requirement ) do
2194- pg_version = repo . min_pg_version ( )
2195- if pg_version < 13 , do: raise ( "Minimum acceptable pg version is 13" )
2196- pg_version >= requirement
2197- end
2198-
21992230 defp snapshot_to_binary ( snapshot ) do
22002231 snapshot
22012232 |> Map . update! ( :attributes , fn attributes ->
0 commit comments