Skip to content

Commit e60211f

Browse files
committed
Tests appear green
1 parent 4c2f560 commit e60211f

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

lib/ecto/changeset.ex

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2763,7 +2763,7 @@ defmodule Ecto.Changeset do
27632763
constraint = opts[:name] ||
27642764
case get_assoc(changeset, assoc) do
27652765
%Ecto.Association.BelongsTo{owner_key: owner_key} ->
2766-
"#{get_source(changeset)}_#{owner_key}_fkey"
2766+
"#{get_source(changeset)}_#{atom_concat owner_key}_fkey"
27672767
other ->
27682768
raise ArgumentError,
27692769
"assoc_constraint can only be added to belongs to associations, got: #{inspect other}"
@@ -2814,7 +2814,7 @@ defmodule Ecto.Changeset do
28142814
case get_assoc(changeset, assoc) do
28152815
%Ecto.Association.Has{cardinality: cardinality,
28162816
related_key: related_key, related: related} ->
2817-
{opts[:name] || "#{related.__schema__(:source)}_#{related_key}_fkey",
2817+
{opts[:name] || "#{related.__schema__(:source)}_#{atom_concat related_key}_fkey",
28182818
message(opts, no_assoc_message(cardinality))}
28192819
other ->
28202820
raise ArgumentError,
@@ -3000,6 +3000,12 @@ defmodule Ecto.Changeset do
30003000
_ -> acc
30013001
end
30023002
end
3003+
3004+
defp atom_concat(atoms) do
3005+
atoms
3006+
|> Enum.map(&to_string/1)
3007+
|> Enum.join("_")
3008+
end
30033009
end
30043010

30053011
defimpl Inspect, for: Ecto.Changeset do

0 commit comments

Comments
 (0)