Error al crear un índice único para Mysql / Mariadb

Intento hacer la siguiente migración:

defmodule Shopper.Repo.Migrations.MakeNameUniqueShopper do
  use Ecto.Migration

  def change do
    create unique_index :shoppers, [:name]
  end
end

También probécreate unique_index :shoppers, [:name], name: :name_unique, create unique_index :shoppers, [:name], name: "name_unique"ycreate index(:shoppers, [:name], unique: true)

Pero fallaron con un error similar:

[info]  == Running Shopper.Repo.Migrations.MakeNameUniqueShopper.change/0 forward

[info]  create index shoppers_name_index
** (Mariaex.Error) (1071): Specified key was too long; max key length is 767 bytes
    (ecto) lib/ecto/adapters/sql.ex:172: Ecto.Adapters.SQL.query!/5
    (elixir) lib/enum.ex:1261: Enum."-reduce/3-lists^foldl/2-0-"/3
...
...

Cualquier ayuda sería muy apreciada, para ayudarme con el error.

Nota: Estoy usando ecto 1.02

A continuación se muestra la primera migración creada conmix phoenix.gen.model

defmodule Shopper.Repo.Migrations.CreateV1.Shopper do
  use Ecto.Migration

  def change do
    create table(:shoppers) do
      add :name, :string
      add :oauth_token, :string

      timestamps
    end
  end
end

Informacion: elname el campo es utf8mb4, especificado por mi esquema

Actualizar: Sé que la solución es reducir elname longitud del campo, pero ¿cómo hacer que funcione con el modelo Phoenix y la migración? Como se espera una cuerda?

Respuestas a la pregunta(4)

Su respuesta a la pregunta