Ecto.Repo

Parsed documentation:
View on GitHub
Defines a repository.

A repository maps to an underlying data store, controlled by the
adapter. For example, Ecto ships with a Postgres adapter that
stores data into a PostgreSQL database.

When used, the repository expects the `:otp_app` as option.
The `:otp_app` should point to an OTP application that has
the repository configuration. For example, the repository:

    defmodule Repo do
      use Ecto.Repo, otp_app: :my_app
    end

Could be configured with:

    config :my_app, Repo,
      adapter: Ecto.Adapters.Postgres,
      database: "ecto_simple",
      username: "postgres",
      password: "postgres",
      hostname: "localhost"

Most of the configuration that goes into the `config` is specific
to the adapter, so check `Ecto.Adapters.Postgres` documentation
for more information. However, some configuration is shared across
all adapters, they are:

  * `:priv` - the directory where to keep repository data, like
    migrations, schema and more. Defaults to "priv/YOUR_REPO"

  * `:url` - an URL that specifies storage information. Read below
    for more information

## URLs

Repositories by default support URLs. For example, the configuration
above could be rewriten to:

    config :my_app, Repo,
      url: "ecto://postgres:postgres@localhost/ecto_simple"

The schema can be of any value. The path represents the database name
while options are simply merged in.

URLs also support `{:system, "KEY"}` to be given, telling Ecto to load
the configuration from the system environment instead:

    config :my_app, Repo,
      url: {:system, "DATABASE_URL"}
No suggestions.
Please help! Open an issue on GitHub if this assessment is incorrect.