That’s exactly what I did (set it in the repo.ex file) and it still wants to connect to the root db user:
defmodule Pcafe.Repo do
use Ecto.Repo,
otp_app: :pcafe,
adapter: Ecto.Adapters.MyXQL
@doc """
Dynamically loads the repository url from the
DATABASE_URL environment variable.
"""
# def init(_, opts) do
# {:ok, Keyword.put(opts, :url, System.get_env("DATABASE_URL"))}
# end
def init(_, opts) do
{:ok, build_opts(opts)}
end
defp build_opts(opts) do
the_port = System.get_env("PORT") # evaluates to nil during development
prefix =
case the_port do
"4005" -> "LOCAL" #"FOREIGN"
nil -> "LOCAL" #Sensible default
_ -> "LOCAL"
end
secret = System.get_env("DB_SECRET")
system_opts = [
#hostname: Pcafe.Encrypt.decrypt(System.get_env(prefix<>"_DB_HOST"), secret),
# username: Pcafe.Encrypt.decrypt(System.get_env(prefix<>"_DB_USER_NAME"), secret),
# password: Pcafe.Encrypt.decrypt(System.get_env(prefix<>"_DB_USER_PASSWORD"), secret)
#hostname: System.get_env("HOST"),
#username: System.get_env("USER"),
#password: System.get_env("MYSQL_PWD")
username: "web",
password: "something"
]
Keyword.merge(opts, system_opts)
end
end






















