在迁移中设置值

时间:2018-12-19 02:38:05

标签: elixir phoenix-framework ecto

因此,目前我的表有一个date和一个日期索引,我想删除日期索引,添加一个start_dateend_date,并首先设置开始和结束日期等于date,然后添加开始日期和结束日期索引。可以一次迁移完成所有这些工作吗?看起来如何?

1 个答案:

答案 0 :(得分:1)

def up do
  alter table(:table) do
    add :start_date, :date
    add :end_date, :date
  end

  execute "update table set start_date=date, end_date=date"

  alter table(:table) do
    remove :date
  end

  create index(:table, :start_date)
  create index(:table, :end_date)
end

date的索引将通过字段删除而删除。