ash_postgres v0.30.1 AshPostgres.Repo behaviour View Source
Resources that use the AshPostgres
data layer use a Repo
to access the database.
This repo is a slightly modified version of an Ecto.Repo
.
You can use Ecto.Repo
's init/2
to configure your repo like normal, but
instead of returning {:ok, config}
, use super(config)
to pass the
configuration to the AshPostgres.Repo
implementation.
Installed Extensions
To configure your list of installed extensions, define installed_extensions/0
Extensions that are relevant to ash_postgres:
"uuid-ossp"
- Sets UUID primary keys defaults in the migration generator"pg_trgm"
- Makes theAshPostgres.Predicates.Trigram
custom predicate available
def installed_extensions() do
["pg_trgm", "uuid-ossp"]
end
Link to this section Summary
Callbacks
Return a list of all schema names (only relevant for a multitenant implementation)
Use this to inform the data layer about what extensions are installed
The path where your tenant migrations are stored (only relevant for a multitenant implementation)
Link to this section Callbacks
Specs
all_tenants() :: [String.t()]
Return a list of all schema names (only relevant for a multitenant implementation)
Specs
installed_extensions() :: [String.t()]
Use this to inform the data layer about what extensions are installed
Specs
tenant_migrations_path() :: String.t()
The path where your tenant migrations are stored (only relevant for a multitenant implementation)