FROM ONLY with ecto query?

Is there a way to express

SELECT name, altitude
  FROM ONLY cities
  WHERE altitude > 500;

via ecto query?

This doesn’t work: undefined function fragment/2

    import Ecto.Query
  
    query =
      from(
        c in fragment("ONLY ?", "cities"),
        where: c.altitude > 500,
        select: %{
          name: c.name,
          altitude: c.altitude
        }
      )

    Repo.to_sql(:all, query)
1 Like

You can execute sql commands

iex(1)> {:ok, %{rows: rows}} = YourApp.Repo.query("SELECT name, altitude FROM ONLY cities WHERE altitude > 500;")

Yes, but I’d rather use ecto query construct.

1 Like