pgiesin

pgiesin

This should be a simple problem but I just can’t seem to figure it out. I have a standalone Elixir app that won’t find the database.

Dependencies

{:comeonin, "~> 5.1"},
{:postgrex, "~> 0.14.1"},
{:ecto_sql, "~> 3.0"},

Repo

defmodule AccountService.Repo do
    use Ecto.Repo, 
        otp_app: :account_service,
        adapter: Ecto.Adapters.Postgres
end

Config

config :account_service, AccountService.Repo,
    database: "worksolvr",
    username: "postgres",
    password: "REDACTED",
    hostname: "localhost"

When i attempt to run mix ecto.migrate I receive:

[error] GenServer #PID<0.202.0> terminating
** (RuntimeError) connect raised KeyError exception: key :database not found.The exception details are hidden, as they may contain sensitive data such as database credentials. You may set :show_sensitive_data_on_connection_error to true if you wish to see all of the details
    (elixir) lib/keyword.ex:389: Keyword.fetch!/2
    (postgrex) lib/postgrex/protocol.ex:90: Postgrex.Protocol.connect/1
    (db_connection) lib/db_connection/connection.ex:66: DBConnection.Connection.connect/2
    (connection) lib/connection.ex:622: Connection.enter_connect/5
    (stdlib) proc_lib.erl:249: :proc_lib.init_p_do_apply/3
Last message: nil
State: Postgrex.Protocol

Thanks,
Peter

First Post!

scottming

scottming

Did you create the db?

mix ecto.create

Most Liked

schaary

schaary

I miss the line

...
config :account_service, ecto_repos: [AccountService.Repo]
...

in your config/config.ex file.

Sanjer

Sanjer

Ensure the below and give it a re-try.

STEP 1. Define the dependencies required, mix.exs

defp deps do
    [
      {:ecto_sql, "~> 3.1"},
      {:postgrex, "~> 0.14.3"}
    ]
 end

STEP 2. Get the dependencies defined above

mix deps.get

STEP 3. Configure the Repo the application

config :helloapp, ecto_repos: [HelloApp.Repo]

Note: the :helloapp must be match the app name defined in the application.ex file. In my case I have created the application using the below command

mix new hello app --app hello app --sup

STEP 4. Configure the the Repo itself defined above

config :helloapp, HelloApp.Repo,
      host: "localhost",
      port: "5432",
      database: "helloappdb",
      username: "postgres",
      password: "postgres"

STEP 4. Define the HelloApp.Repo module in repo.ex file in /lib/{app name}

defmoudle HelloApp.Repo do
use Ecto.Repo,
    otp_app: :helloapp,
    adapter: Ecto.Adapters.Postgres
end

STEP 5. Now, lets create the database

mix ecto.create

The output should be as below.

Compiling 1 file (.ex)
Generated helloapp app
The database for HelloApp.Repo has already been created.

Hope it helps somebody.

dimitarvp

dimitarvp

Are you sure your app’s atom name is :MyApp and not :myapp?

Can you also show your MyAppRepo.ex file?

Last Post!

tenzil

tenzil

Finally i did it, i deployed it in heroku. first thing i scratched the previous deploy setup and added them again, second my prod.secret.exs had config :myapp, MyAppWeb.Repo which was not commented.
Issue deploying to gigalixir - (RuntimeError) connect raised KeyError exception: key :database not found , helped when i revisited this issue.
Thanks folks.

Where Next? Top

Trending in Questions Top

RSP87
I’m working on a project that simulates the bumbl example in the programming phoenix book. It acts almost like an email client. We have a...
New
kpanic
Hi everyone, I am toying with the idea of building a “match maker” for giving personal help to people that wants to start coding. I sta...
New
nseaSeb
Hello, I know there is an approach for handling lists that allows for optimized traversal, but I can’t recall the specific method (somet...
New
brecabral
Documentation While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
velrest
So my question is quite simple and i have found no conclusive answer on forum, google or AI. Should we use :erlang.float for Integer to ...
New
asweet-confluent
I recently noticed that Elixir’s Logger defaults its primary log level to :debug when no :logger, :level application configuration is pre...
New
apz
I’m new to elixir and just tried to install the elixirLS extension for VScode(ium) and it is throwing some errors that I would like help ...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews