ich angefangen habe phoenix Rahmen zu lernen und einige Probleme, die bei dem Versuch, meine Migration zu erstellen, hier ist mein Schema:Kann nicht Migration in Phoenix erzeugen
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
Wenn ich laufe den Generator Migration diesen Ausgang mich so etwas wie dieses:
defmodule Lclp.Repo.Migrations.UserAdd do
use Ecto.Migration
def change do
end
end
Die Änderungsfunktion ist leer, wenn es so etwas wie sein sollte:
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
Mein Benutzerschema befindet sich im Hauptordner mit repo.ex, wie Sie hier sehen können:
Hat jemand eine Idee, warum der Generator eine leere Migration erzeugen?
Welchen Befehl verwenden Sie zum Generieren der Migration? Da Ihr Feld ': password' ebenfalls virtuell ist, sollten Sie es nicht in die Migration einbeziehen. –
Ich verwende 'mix ecto.gen.migration create_user'. Ich lösche '' Passwort', danke. –
Ich denke, Sie sollten stattdessen ['phx.gen.schema'] (https://hexdocs.pm/phoenix/Mix.Tasks.Phx.Gen.Schema.html) betrachten. 'ecto.gen.migration' versucht nicht, basierend auf Ihrem Code eine Migration zu erstellen. Es erstellt nur die Migrationsdatei. –