Skip to content

Commit b2a2b75

Browse files
committed
Prefix fields with ecto_ to avoid conflicts, closes #3772
1 parent 125215d commit b2a2b75

File tree

2 files changed

+15
-15
lines changed

2 files changed

+15
-15
lines changed

lib/ecto/changeset.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -568,7 +568,7 @@ defmodule Ecto.Changeset do
568568
do: {key, Atom.to_string(key)}
569569

570570
defp cast_key(key),
571-
do: raise ArgumentError, "cast/3 expects a list of atom keys, got: `#{inspect key}`"
571+
do: raise ArgumentError, "cast/3 expects a list of atom keys, got key: `#{inspect key}`"
572572

573573
defp cast_field(key, param_key, type, params, current, empty_values, defaults, valid?) do
574574
case params do

lib/ecto/schema.ex

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -541,8 +541,8 @@ defmodule Ecto.Schema do
541541
@ecto_schema_defined unquote(caller.line)
542542

543543
@after_compile Ecto.Schema
544-
Module.register_attribute(__MODULE__, :changeset_fields, accumulate: true)
545-
Module.register_attribute(__MODULE__, :struct_fields, accumulate: true)
544+
Module.register_attribute(__MODULE__, :ecto_changeset_fields, accumulate: true)
545+
Module.register_attribute(__MODULE__, :ecto_struct_fields, accumulate: true)
546546

547547
meta? = unquote(meta?)
548548
source = unquote(source)
@@ -567,7 +567,7 @@ defmodule Ecto.Schema do
567567
schema: __MODULE__
568568
}
569569

570-
Module.put_attribute(__MODULE__, :struct_fields, {:__meta__, meta})
570+
Module.put_attribute(__MODULE__, :ecto_struct_fields, {:__meta__, meta})
571571
end
572572

573573
if @primary_key == nil do
@@ -604,17 +604,17 @@ defmodule Ecto.Schema do
604604
assocs = @ecto_assocs |> Enum.reverse
605605
embeds = @ecto_embeds |> Enum.reverse
606606
redacted_fields = @ecto_redact_fields
607-
loaded = Ecto.Schema.__loaded__(__MODULE__, @struct_fields)
607+
loaded = Ecto.Schema.__loaded__(__MODULE__, @ecto_struct_fields)
608608

609609
if redacted_fields != [] and not List.keymember?(@derive, Inspect, 0) and
610610
@ecto_derive_inspect_for_redacted_fields do
611611
@derive {Inspect, except: @ecto_redact_fields}
612612
end
613613

614-
defstruct @struct_fields
614+
defstruct @ecto_struct_fields
615615

616616
def __changeset__ do
617-
%{unquote_splicing(Macro.escape(@changeset_fields))}
617+
%{unquote_splicing(Macro.escape(@ecto_changeset_fields))}
618618
end
619619

620620
def __schema__(:prefix), do: unquote(prefix)
@@ -1905,7 +1905,7 @@ defmodule Ecto.Schema do
19051905

19061906
opts = Keyword.put(opts, :type, type)
19071907
check_options!(opts, @field_opts, "field/3")
1908-
Module.put_attribute(mod, :changeset_fields, {name, type})
1908+
Module.put_attribute(mod, :ecto_changeset_fields, {name, type})
19091909
validate_default!(type, opts[:default], opts[:skip_default_validation])
19101910
define_field(mod, name, type, opts)
19111911
end
@@ -1967,7 +1967,7 @@ defmodule Ecto.Schema do
19671967
else
19681968
check_options!(opts, @valid_has_options, "has_many/3")
19691969
struct = association(mod, :many, name, Ecto.Association.Has, [queryable: queryable] ++ opts)
1970-
Module.put_attribute(mod, :changeset_fields, {name, {:assoc, struct}})
1970+
Module.put_attribute(mod, :ecto_changeset_fields, {name, {:assoc, struct}})
19711971
end
19721972
end
19731973

@@ -1979,7 +1979,7 @@ defmodule Ecto.Schema do
19791979
else
19801980
check_options!(opts, @valid_has_options, "has_one/3")
19811981
struct = association(mod, :one, name, Ecto.Association.Has, [queryable: queryable] ++ opts)
1982-
Module.put_attribute(mod, :changeset_fields, {name, {:assoc, struct}})
1982+
Module.put_attribute(mod, :ecto_changeset_fields, {name, {:assoc, struct}})
19831983
end
19841984
end
19851985

@@ -2005,7 +2005,7 @@ defmodule Ecto.Schema do
20052005

20062006
struct =
20072007
association(mod, :one, name, Ecto.Association.BelongsTo, [queryable: queryable] ++ opts)
2008-
Module.put_attribute(mod, :changeset_fields, {name, {:assoc, struct}})
2008+
Module.put_attribute(mod, :ecto_changeset_fields, {name, {:assoc, struct}})
20092009
end
20102010

20112011
@valid_many_to_many_options [:join_through, :join_defaults, :join_keys, :on_delete, :defaults, :on_replace, :unique, :where, :join_where, :preload_order]
@@ -2016,7 +2016,7 @@ defmodule Ecto.Schema do
20162016

20172017
struct =
20182018
association(mod, :many, name, Ecto.Association.ManyToMany, [queryable: queryable] ++ opts)
2019-
Module.put_attribute(mod, :changeset_fields, {name, {:assoc, struct}})
2019+
Module.put_attribute(mod, :ecto_changeset_fields, {name, {:assoc, struct}})
20202020
end
20212021

20222022
@valid_embeds_one_options [:strategy, :on_replace, :source]
@@ -2151,19 +2151,19 @@ defmodule Ecto.Schema do
21512151
opts = [cardinality: cardinality, related: schema, owner: mod, field: name] ++ opts
21522152
struct = Ecto.Embedded.init(opts)
21532153

2154-
Module.put_attribute(mod, :changeset_fields, {name, {:embed, struct}})
2154+
Module.put_attribute(mod, :ecto_changeset_fields, {name, {:embed, struct}})
21552155
Module.put_attribute(mod, :ecto_embeds, {name, struct})
21562156
define_field(mod, name, {:parameterized, Ecto.Embedded, struct}, opts)
21572157
end
21582158

21592159
defp put_struct_field(mod, name, assoc) do
2160-
fields = Module.get_attribute(mod, :struct_fields)
2160+
fields = Module.get_attribute(mod, :ecto_struct_fields)
21612161

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

2166-
Module.put_attribute(mod, :struct_fields, {name, assoc})
2166+
Module.put_attribute(mod, :ecto_struct_fields, {name, assoc})
21672167
end
21682168

21692169
defp validate_default!(_type, _value, true), do: :ok

0 commit comments

Comments
 (0)