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]) endend
那么我们对应这个迁移的模型是:
defmodule Rumbl.User do use Rumbl.Web,:model schema "users" do fIEld :name,:string fIEld :username,:string fIEld :password,virtual: true fIEld :password_hash,:string timestamps endend
现在我运行迁移,然后混合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 nameweb/models/user.ex:10
如果我将模式中的时间戳更改为timestamps(),它就不会再抱怨了,但本书从未显示运行迁移后模型的模式.这应该是正确的,还是有其他东西可以解决这个问题? Ecto / Phoenix模式中的’timestamps’表示应该是什么样的?
解决方法 Elixir 1.4在调用带有0个参数但没有括号的导入或本地定义函数时添加了一个警告,因为当你有一个与函数同名的局部变量并且你写的变量名没有括号时它应该是什么意思不明确.[Kernel] Warn if variable is used as a function call
Source
这本书可能尚未针对Elixir 1.4进行更新. Phoenix发电机已更新,添加括号in June 2016.
总结以上是内存溢出为你收集整理的postgresql – Phoenix / Elixir – 时间戳不存在,扩展到时间戳()全部内容,希望文章能够帮你解决postgresql – Phoenix / Elixir – 时间戳不存在,扩展到时间戳()所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)