View Source Mix.Ecto (Ecto v3.8.4)
Conveniences for writing Ecto related Mix tasks.
Link to this section Summary
Functions
Returns true
if module implements behaviour.
Ensures the given module is an Ecto.Repo.
Gets a path relative to the application path.
Asks if the user wants to open a file based on ECTO_EDITOR.
Parses the repository option from the given command line args list.
Link to this section Functions
Returns true
if module implements behaviour.
@spec ensure_repo(module(), list()) :: Ecto.Repo.t()
Ensures the given module is an Ecto.Repo.
Gets a path relative to the application path.
Raises on umbrella application.
@spec open?(binary(), non_neg_integer()) :: boolean()
Asks if the user wants to open a file based on ECTO_EDITOR.
By default, it attempts to open the file and line using the
file:line
notation. For example, if your editor is called
subl
, it will open the file as:
subl path/to/file:line
It is important that you choose an editor command that does not block nor that attempts to run an editor directly in the terminal. Command-line based editors likely need extra configuration so they open up the given file and line in a separate window.
Custom editors are supported by using the __FILE__
and
__LINE__
notations, for example:
ECTO_EDITOR="my_editor +__LINE__ __FILE__"
and Elixir will properly interpolate values.
@spec parse_repo([term()]) :: [Ecto.Repo.t()]
Parses the repository option from the given command line args list.
If no repo option is given, it is retrieved from the application environment.