Я изучаю Феникс, используя книгу «Программирование Феникса». Первый проект создает postgres db, и это наша миграция. Я не могу избавиться от предупреждения для временных меток в моей схеме.Phoenix/Elixir - временных меток не существует, расширяется до timestamps()
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
.
И я получаю это предупреждение:
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
Если изменить timestamps
в схеме, чтобы timestamps()
не жалуется, больше, но книга никогда не показывает, что схема этой модели выглядит как после запуска миграции. Это должно быть правильно, или есть что-то еще, что это исправляет? Как должно выглядеть выражение «временные метки» в схеме Ecto/Phoenix?
Большое вам спасибо! Хорошо знать, что происходит, потому что мои поисковые запросы не помогли. – smkarber