7

我想写这样的东西:

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会出错,那么正确的方法是什么?

4

2 回答 2

12

您可以按照文档的建议使用这种方式:

alter table(:jobs) do
  add :company_id, references(:companies)
end

我不确定这里是否需要复数版本:references(:companies)但它对我不起作用phermacy(单数)

于 2016-02-12T15:40:50.803 回答
9

您应该将所需的外键添加到作业表中:

defmodule JobHunt.Repo.Migrations.CompaniesHaveManyJobs do
  use Ecto.Migration

  def change do
    alter table(:jobs) do
      add :company_id, :integer
    end
  end
end
于 2015-03-14T19:57:38.897 回答