# Ecto Changeset: modify column type from :string to {:array, :string}

**URL:** <https://forum.elixirforum.com/t/ecto-changeset-modify-column-type-from-string-to-array-string/32209>\
**Category:** Questions\
**Tags:** ecto, ecto-migration\
**Created:** [June 8, 2020, 11:05pm UTC](https://forum.elixirforum.com/t/ecto-changeset-modify-column-type-from-string-to-array-string/32209 "2020-06-08T23:05:02Z")\
**Posts on this page:** 1\
**Showing post:** 10

<div class="post-metadata">

**Author:** ![dcrck](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dcrck/32/17170_2.png) [@dcrck](https://forum.elixirforum.com/u/dcrck)\
**Post date:** [June 10, 2020, 12:52pm UTC](https://forum.elixirforum.com/t/ecto-changeset-modify-column-type-from-string-to-array-string/32209/10 "2020-06-10T12:52:19Z")

</div>

I see.

Actual final solution:

```elixir
defmodule Database.Repo.Migrations.StringToListMigration do
  use Ecto.Migration

  def change do
    execute(string_to_list(), list_to_string())
  end

  defp string_to_list() do
    "alter table my_table alter column_name type varchar(255)[] using array[column_name], alter column_name set default '{}'"
  end

  defp list_to_string() do
    "alter table my_table alter column_name type varchar(255) using column_name[1], alter column_name drop default"
  end
end

```

---

_[View the full topic](https://forum.elixirforum.com/t/ecto-changeset-modify-column-type-from-string-to-array-string/32209)._
