chanphiromsok
(UndefinedFunctionError) function CAStore.file_path/0 is undefined (module CAStore is not available)
Hello guys I cant connect to MySQL using ecto_sql and myxql connect to mysql at planetscale
I have config file dev.exs below
config :myproject, Myproject.Repo,
username: "asdf",
password: "asdf",
hostname: "hostname,
database: "wbdev-db",
ssl: true,
ssl_opts: [
verify: :verify_peer,
cacertfile: CAStore.file_path(),
server_name_indication: String.to_charlist("hostname"),
customize_hostname_check: [
match_fun: :public_key.pkix_verify_hostname_match_fun(:https)
]
],
stacktrace: true,
show_sensitive_data_on_connection_error: true,
pool_size: 10
Error message
** (UndefinedFunctionError) function CAStore.file_path/0 is undefined (module CAStore is not available)
CAStore.file_path()
/Users/macbookpro/Documents/myproject/config/dev.exs:12: (file)
/Users/macbookpro/Documents/myproject/config/config.exs:64: (file)
(stdlib 4.2) erl_eval.erl:748: :erl_eval.do_apply/7
(stdlib 4.2) erl_eval.erl:961: :erl_eval.expr_list/7
(stdlib 4.2) erl_eval.erl:290: :erl_eval.expr/6
(stdlib 4.2) erl_eval.erl:282: :erl_eval.expr/6
CAStore is undefined if I run it in Supervisor tree it work fine MyXQL.start_link(db_config)
Marked As Solved
codeanpeace
Just a heads up, that planetscale connection example has the configuration/connection code in a mix task where the castore dependency is available. Putting that code in dev.exs which gets called by config.exs during build time results in an error since dependencies are not available then.
To configure and connect during build time, try specifying the file path directly rather than through CAStore.file_path(). To use CAStore.file_path(), try adding the configuration/connection code into runtime.exs which is read after dependencies are available.
Also Liked
codeanpeace
What does your CAStore module look like? It might be a namespacing issue.
For example, if you have something like defmodule Myproject.CAStore, you’d need to alias it or use the full module name in your dev.exs.
# either add
alias Myproject.CAStore
# or use
Myproject.CAStore.file_path()
# instead of
CAStore.file_path()
codeanpeace
wojtekmach
Last Post!
chanphiromsok
Popular in Questions
Other popular topics
Latest Phoenix Threads
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #elixirconf-us
- #advent-of-code
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #hex
- #security









