Ich weiß nicht, ob es ein Ecto- oder Elixir-Problem ist. Wenn ich eine Nummer in der Datenbank wie 1000, 15000 usw. habe, dann gibt es Ecto als 1.0e3, 1.5e4 ... Wenn ich diese 1000 zu 1234 ändere, ist alles in Ordnung.Ecto liefert Zahlen in wissenschaftlicher (exponentieller) Notation
Elixir 1.3.2, Ecto 2.0.3, MySQL
Migration:
alter table(:incoming_transfers) do
add :fee, :float # Ecto translates it as DOUBLE in MySQL
end
Schema:
schema "incoming_transfers" do
field :fee, :float
end
Wenn ich manuell in meiner Datenbank Typ DOUBLE ändern, das Problem FLOAT Überreste. Aber wenn ich es zu INTEGER ändere, ist es gut.
Welchen Typ haben Sie für diese Spalte in der Migration für die Tabelle und die Schemadeklaration im Modell verwendet? Können Sie bitte die relevanten Snippets dieser beiden Dateien in die Frage aufnehmen? – Dogbert
@Dogbert Ich habe meine Frage aktualisiert –
Also - vielleicht ist es eine dumme Frage - warum Sie ganze Zahlen als Floats behalten möchten? Verwenden Sie einfach Integer im Schema. – PatNowak