Thanks for the suggestions. After sleeping on it, I ended up deciding to pluralize the column name. So this simply became a matter of moving the values from one column to the other.
Here’s what I ended up doing:
defmodule MyApp.Repo.Migrations.ConvertColumnToList do
use Ecto.Migration
alias MyApp.{Repo, MyTable}
import Ecto.Query
def change do
alter table :my_table do
add :list_column_name, {:array, :string}, default: []
end
flush()
Repo.all(MyTable)
|> Enum.each(fn row ->
row
|> MyTable.changeset(%{ name: row.name, list_column_name: [ row.column_name ]})
|> Repo.update()
end)
alter table :my_table do
remove :column_name
end
end
end






















