Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elixir Can';菲尼克斯不会产生移民_Elixir_Phoenix Framework - Fatal编程技术网

Elixir Can';菲尼克斯不会产生移民

Elixir Can';菲尼克斯不会产生移民,elixir,phoenix-framework,Elixir,Phoenix Framework,我已经开始学习phoenix framework,在尝试创建迁移时遇到了一些问题,下面是我的模式: defmodule Lclp.User do use Ecto.Schema import Ecto.Changeset alias Lclp.User schema "users" do field :email, :string field :name, :string field :password, :string, virtual: true

我已经开始学习phoenix framework,在尝试创建迁移时遇到了一些问题,下面是我的模式:

defmodule Lclp.User do
  use Ecto.Schema
  import Ecto.Changeset
  alias Lclp.User


  schema "users" do
    field :email, :string
    field :name, :string
    field :password, :string, virtual: true
    field :password_hash, :string
    field :username, :string

    timestamps()
  end
当我运行迁移生成器时,此输出类似以下内容:

defmodule Lclp.Repo.Migrations.UserAdd do
  use Ecto.Migration

  def change do

  end
end
当更改函数应为以下内容时,该函数为空:

    def change do
    create table(:users) do
      add :name, :string
      add :username, :string
      add :email, :string
      add :password, :string
      add :password_hash, :string

      timestamps()
    end
   end
我的用户模式位于repo.ex的主文件夹中,您可以在此处看到:


有人知道为什么生成器生成一个空迁移吗?

您将想看看
exto.gen.migration
不会查看您的代码来尝试为您构建实际的迁移。它只生成scaffold文件。

您将需要查看它
exto.gen.migration
不会查看您的代码来尝试为您构建实际的迁移。它只生成scaffold文件。

您使用什么命令生成迁移?另外,由于您的
:password
字段是虚拟的,因此不应将其包括在迁移中。我使用的是
mix-exto.gen.migration-create\u-user
。我将删除
:密码
,谢谢。我想您会想改为查看
exto.gen.migration
不会尝试基于代码创建迁移。它只创建迁移文件。有道理,我会试试。@JustinWood我想你应该把这个建议作为答案。许多未来的访问者可能会弄乱生成器。您使用什么命令生成迁移?另外,由于您的
:password
字段是虚拟的,因此不应将其包括在迁移中。我使用的是
mix-exto.gen.migration-create\u-user
。我将删除
:密码
,谢谢。我想您会想改为查看
exto.gen.migration
不会尝试基于代码创建迁移。它只创建迁移文件。有道理,我会试试。@JustinWood我想你应该把这个建议作为答案。许多未来的游客可能会把发电机弄乱。