View Source Mix.Ecto (Ecto v3.11.0)
Conveniences for writing Ecto related Mix tasks.
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.
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.