Skip to content

Commit 0b7a423

Browse files
committed
Improve message for duplicate name on schema
1 parent f62dcfe commit 0b7a423

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

lib/ecto/schema.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2160,7 +2160,7 @@ defmodule Ecto.Schema do
21602160
fields = Module.get_attribute(mod, :struct_fields)
21612161

21622162
if List.keyfind(fields, name, 0) do
2163-
raise ArgumentError, "field/association #{inspect name} is already set on schema"
2163+
raise ArgumentError, "field/association #{inspect name} already exists on schema, you must either remove the duplication or choose a different name"
21642164
end
21652165

21662166
Module.put_attribute(mod, :struct_fields, {name, assoc})

test/ecto/schema_test.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,7 @@ defmodule Ecto.SchemaTest do
384384
## Errors
385385

386386
test "field name clash" do
387-
assert_raise ArgumentError, "field/association :name is already set on schema", fn ->
387+
assert_raise ArgumentError, ~r"field/association :name already exists on schema", fn ->
388388
defmodule SchemaFieldNameClash do
389389
use Ecto.Schema
390390

0 commit comments

Comments
 (0)