Phoenixのtimestampsのカラム名を変更する
Railsで作ったDBへPhoenixで接続するときのtimestampsのカラム名変更方法.
mix ecto.generate
で model を作ると以下のような形式になる.このとき timestamps は何も指定しなければ inserted_at と updated_at というカラムを指す.
一方,Railsの timestamp は created_at と updated_at なので,このまま phoenix を動かすとDBには inserted_at というカラムが見つからないというエラーになる.
defmodule MySampleApp.User do
use FarmnoteAdminConsole.Web, :model
schema "users" do
field :name, :string
timestamps
end
# (略)
end
これを回避するには以下のように timestamps へオプションを指定してやればよい.
defmodule MySampleApp.User do
use FarmnoteAdminConsole.Web, :model
schema "users" do
field :name, :string
timestamps inserted_at: :created_at
end
# (略)
end
ecto/schema.ex にドキュメントと実装がある.