2017-02-10 10 views
3

)「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スキーマの「タイムスタンプ」表現はどのように見えますか?

答えて

4

エリクサー1.4は、関数と同じ名前のローカル変数を持つときに意味があることがあいまいであるため、カッコなしで0つの引数を持つインポートまたはローカル定義の関数を呼び出す際に警告を追加しました。かっこなしの変数名。変数は、関数呼び出し

Source

おそらくまだエリクシール1.4用に更新されていない書籍として使用されている場合

[カーネル]警告します。フェニックスの発電機は、括弧in June 2016を追加するように更新されました。

+0

ありがとうございました!私のGoogle検索が役に立たなかったので、何が起こっていたのかを知ることは良いことです。 – smkarber

関連する問題