gensym

プログラミングと読書、勉強に関するメモ

Phoenix のデータベースを変更する (Mariadb -> Postgresql)

Phoenix はプロジェクトを作成するときにデータベースを指定するが、後から変更することも出来る。
基本的には Mariadb の所を Postgresql に書き換えればよい。
サーバはあらかじめ動いているものとする。

まずは conf ファイル。

# config/dev.exs
...
# Configure your database
config :test, Test.Repo,
  adapter: Ecto.Adapters.Postgres, # Postgres に変更
  username: "postgres",
  password: "postgres",
  database: "test_dev",
  hostname: "localhost",
  pool_size: 10

prod も同様に。

mix ファイルも書き換える必要がある。

# mix.exs
...
  def application do
    [mod: {Test, []},
      applications: [:phoenix, :phoenix_pubsub, :phoenix_html, :cowboy, :logger, :gettext]]
      :phoenix_ecto, :postgrex]] # mariaex -> postgrex に
  end
...
  defp deps do
...
    {:postgrex, ">= 0.0.0"}, # mariaex -> postgrex に
...
  end

Postgresql -> Mysql も逆にすればいけると思う。