我想爲我的Phoenix應用程序使用特定的Postgres架構。使用Ecto更改Postgres search_path
我試圖用Ecto.Repo.after_connect/1
回調實現這一點,但似乎遞歸創建新的db連接約10倍,然後超時。
這裏是我的回購協議文件:
defmodule MyApp.Repo do
use Ecto.Repo, otp_app: :my_app
use Scrivener, page_size: 20
def after_connect(_pid) do
IO.puts "after_connect"
Ecto.Adapters.SQL.query(MyApp.Repo, "SET search_path TO 'my_app';", [])
end
end
如果你想這樣做永久,你可以改變使用'alter user set ...'的用戶的搜索路徑... –
我不想。我的目的是在3個不同的應用程序之間共享一個Heroku Postgres數據庫(每個應用程序都有一個模式) – Chris
那麼爲什麼不創建三個不同的用戶,每個用戶都將特定的模式作爲默認的search_path? –