diff --git a/config/runtime.exs b/config/runtime.exs index 514cca4..edd55f1 100644 --- a/config/runtime.exs +++ b/config/runtime.exs @@ -1,5 +1,7 @@ import Config +import Helper.Utils, only: [get_host_from_url: 1] + # ## Using releases # # If you use `mix release`, you need to explicitly enable the server @@ -123,16 +125,13 @@ if config_env() == :prod do # see https://neon.tech/docs/guides/elixir-ecto for Neon DB on vercel config :groupher_server, GroupherServer.Repo, adapter: Ecto.Adapters.Postgres, - username: System.get_env("DB_USERNAME"), - password: System.get_env("DB_PASSWORD"), - database: System.get_env("DB_NAME" || "cps_server_prod"), - hostname: System.get_env("DB_HOST"), - port: String.to_integer(System.get_env("DB_PORT") || "5432"), + url: System.get_env("DATABASE_URL"), pool_size: String.to_integer(System.get_env("DB_POOL_SIZE") || "20"), ssl: true, ssl_opts: [ - # server_name_indication: String.to_charlist("debug here if need"), - server_name_indication: System.get_env("DB_HOST") |> String.to_charlist(), + # server_name_indication: System.get_env("DB_HOST") |> String.to_charlist(), + server_name_indication: + get_host_from_url(System.get_env("DATABASE_URL")) |> String.to_charlist(), verify: :verify_none ] diff --git a/lib/groupher_server/cms/delegates/article_community.ex b/lib/groupher_server/cms/delegates/article_community.ex index c4bac8a..bf25eb1 100644 --- a/lib/groupher_server/cms/delegates/article_community.ex +++ b/lib/groupher_server/cms/delegates/article_community.ex @@ -6,7 +6,7 @@ defmodule GroupherServer.CMS.Delegate.ArticleCommunity do import Ecto.Query, warn: false import Helper.ErrorCode - import Helper.Utils, only: [strip_struct: 1, done: 1] + import Helper.Utils, only: [done: 1] import GroupherServer.CMS.Helper.Matcher alias Helper.Types, as: T diff --git a/lib/helper/utils/utils.ex b/lib/helper/utils/utils.ex index 871967e..d11b5a7 100644 --- a/lib/helper/utils/utils.ex +++ b/lib/helper/utils/utils.ex @@ -235,4 +235,13 @@ defmodule Helper.Utils do # number is invalid for html id(if first letter) Nanoid.generate(5, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") end + + @doc """ + get host from url for config, like + postgres://default:blajdife@example-db-host.aws.neon.tech:5432/verceldb?sslmode=require + => example-db-host + """ + def get_host_from_url(url) do + URI.parse(url).host + end end diff --git a/mix.exs b/mix.exs index 93abe7a..0482521 100644 --- a/mix.exs +++ b/mix.exs @@ -6,7 +6,7 @@ defmodule GroupherServer.Mixfile do def project do [ app: :groupher_server, - version: "2.1.3", + version: "2.1.4", elixir: "~> 1.9", elixirc_paths: elixirc_paths(Mix.env()), dialyzer: [plt_add_deps: :transitive, ignore_warnings: ".dialyzer_ignore.exs"],