为什么我的 Elixir Ecto 查询中出现 "unsupported :except_all in keyword query expression"?

Why am I getting "unsupported :except_all in keyword query expression" in my Elixir Ecto query?

这个 Ecto 查询有效:

bid_players = from a in Auction,
                where: a.id == 1,
                join: bids in assoc(a, :bids),
                join: player in assoc(bids, :player),
                select: player.id

并且此查询有效:

players = from player in Player,
            where: player.year_range == ^a.year_range,
            select: player.id

但我不知道如何获得非竞价玩家。当我尝试这个时:

not_bid_players = from player in Player,
                    where: player.year_range == ^a.year_range,
                    select: player.id,
                    except_all: ^bid_players

...我得到:

** (Ecto.Query.CompileError) unsupported :except_all in keyword query expression
    (ecto) expanding macro: Ecto.Query.from/2
    iex:35: (file)

我想 except_all(参见 https://hexdocs.pm/ecto/Ecto.Query.html#except_all/2)有些地方我不明白。

except_all 已添加到 Ecto 3 中。
phoenix_ecto 需要 4.0 才能使用 Ecto 3+,看来你需要升级了。