)「Phoenixプログラミング」という本を使用してPhoenixを学習しています。最初のプロジェクトはPostgres DBを作成しており、これが私たちの移行です。スキーマ内のタイムスタンプの警告を取り除くことはできません。Phoenix/Elixir - タイムスタンプにタイムスタンプが追加されていません(
defmodule Rumbl.Repo.Migrations.CreateUser do
use Ecto.Migration
def change do
create table(:users) do
add :name, :string
add :username, :string, null: false
add :password_hash, :string
timestamps
end
create unique_index(:users, [:username])
end
end
次に、この移行に対応する我々のモデルは次のとおりです。
defmodule Rumbl.User do
use Rumbl.Web, :model
schema "users" do
field :name, :string
field :username, :string
field :password, :string, virtual: true
field :password_hash, :string
timestamps
end
end
は今、私はmix phoenix.server
続く、移行を実行します。私はtimestamps()
にスキーマにtimestamps
を変更した場合
warning: variable "timestamps" does not exist and is being expanded to "timestamps()",
please use parentheses to remove the ambiguity or change the variable name
web/models/user.ex:10
それはもう、文句はありませんが、この本は、モデルのスキーマは、移行を実行した後にどのように見えるかを示していません:
そして私は、この警告が表示されます。それは正しいと思われますか、それを修正する何か他にありますか? Ecto/Phoenixスキーマの「タイムスタンプ」表現はどのように見えますか?
ありがとうございました!私のGoogle検索が役に立たなかったので、何が起こっていたのかを知ることは良いことです。 – smkarber