pgiesin

pgiesin

Ecto :database Not Found

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

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?

tenzil

tenzil

As its an heroku app, i just do
git push heroku master this does the trick.

And @dimitarvp, i haven’t tried that database: "your_db_name_here"

dimitarvp

dimitarvp

I should have recommended that earlier, but I assumed you had it somewhere.

Basically, you can’t go without that. You need a database name in which your app to persist stuff! :slight_smile:

Where Next?

Popular in Questions Top

logicmason
Hi there, I'm working through my first release with elixir/phoenix. I've built a release with distillery and found that it crashes when I...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod -- where is this set? Thanks.
New
srinivasu
How to handle excepions in elixir? Suppose i have A, B, C ,D, E modules. and each module has get() function. A.get() method will call th...
New
itssasanka
Hi all, Trying to get some more clarity over utc_datetime and naive_datetime for Ecto: https://hexdocs.pm/ecto/Ecto.Schema.html#module-...
New
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
gonzofish
I’m currently trying to understand how to join three tables using Ecto. All the examples I’ve seen use 2, so maybe I’m just missing somet...
New
kostonstyle
Hi all I want to have a unix time, from the current time plus 1 hour. DateTime.now + 1 hour How to get it in elixir? Thanks
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
New
Codball
Mix format works fine if run from the cmd. I’ve followed this to facilitate the implementation into VSC which involves downloading an ext...
New

Other popular topics Top

senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
sergio
In Ruby, I can go: User.find_by(email: "foobar@email.com").update(email: "hello@email.com") How can I do something similar in Elixir? ...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 49522 488
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers' Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
AstonJ
We’ve put together this wiki for Phoenix LiveView - please feel free to add any info you feel is worth including. What is Phoenix LiveV...
New
siddhant3030
Hi, I have to write a raw query for one of my project. But till now I have used ecto queries and don’t have much experience writing raw ...
New
jay1
Why is it that the mnesia database isn’t the most preferred database for use in Elixir/Phoenix?
New

We're in Beta

About us Mission Statement