Closed
Description
Ecto version: 1.1.0
Managed to get a not very helpful error message when inserting a string that was too long for the VARCHAR(255)
column it was supposed to be inserted into:
** (exit) exited in: :gen_server.call(#PID<0.213.0>, {:query, #Reference<0.0.1.2581>, 15000}, 5000)
** (EXIT) no process
(postgrex) lib/postgrex/connection.ex:97: Postgrex.Connection.query/4
lib/ecto/adapters/postgres/connection.ex:31: Ecto.Adapters.Postgres.Connection.query/4
(stdlib) timer.erl:197: :timer.tc/3
lib/ecto/adapters/sql.ex:262: Ecto.Adapters.SQL.query/7
lib/ecto/pool.ex:149: Ecto.Pool.run/4
lib/ecto/adapters/sql.ex:247: Ecto.Adapters.SQL.query/6
lib/ecto/adapters/sql.ex:625: Ecto.Adapters.SQL.rollback/7
lib/ecto/pool.ex:244: Ecto.Pool.outer_transaction/6
lib/ecto/adapters/sql.ex:551: Ecto.Adapters.SQL.transaction/3
(elixir) lib/enum.ex:579: Enum."-each/2-lists^foreach/1-0-"/2
(elixir) lib/enum.ex:579: Enum.each/2
(mix) lib/mix/task.ex:291: Mix.Task.run_alias/3
(mix) lib/mix/task.ex:243: Mix.Task.run/2
(mix) lib/mix/cli.ex:55: Mix.CLI.run_task/2
(elixir) lib/code.ex:363: Code.require_file/2
Code that generated it (content was coming from 3rd party web app):
defmodule Mix.Tasks.FetchAllVideos do
use Mix.Task
def run(_) do
Day9tv.Repo.start_link
{:ok, items, next_page_token} = Day9tv.YouTube.playlist_items("UUaxar6TBM-94_ezoS00fLkA")
Enum.each items, fn(item) ->
changeset = Day9tv.Video.create_from_youtube(item)
Day9tv.Repo.insert!(changeset)
end
end
end