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