我想写这样的东西:
defmodule JobHunt.Repo.Migrations.CompaniesHaveManyJobs do
use Ecto.Migration
def change do
alter table (:companies) do
add :jobs, :has_many, Job
end
end
end
Run Code Online (Sandbox Code Playgroud)
mix ecto.migrate使用此迁移运行会出错,那么正确的方法是什么?
我们可以使用这种方式,因为文档建议:
alter table(:jobs) do
add :company_id, references(:companies)
end
Run Code Online (Sandbox Code Playgroud)
我不确定这里是否需要复数版本:references(:companies)但它对我来说不起作用phermacy(单数)
您应该将所需的外键添加到jobs表:
defmodule JobHunt.Repo.Migrations.CompaniesHaveManyJobs do
use Ecto.Migration
def change do
alter table(:jobs) do
add :company_id, :integer
end
end
end
Run Code Online (Sandbox Code Playgroud)