{% for indexName, index in indexes %}
    {%~ set columnsList = '\'' ~ index['columns'][0] ~ '\'' %}
    {%~ if index['columns']|length > 1 %}
        {%~ set columnsList = '[' ~ Migration.stringifyList(index['columns'], {'indent': 6}) ~ ']' %}
    {%~ endif %}
            ->addIndex(
    {%~ if backend == 'builtin' %}
                $this->index({{ columnsList | raw }})
                    ->setName('{{ indexName }}')
        {%~ if index['type'] == 'unique' %}
                    ->setType('unique')
        {%~ elseif index['type'] == 'fulltext' %}
                    ->setType('fulltext')
        {%~ endif %}
        {%~ if index['options'] %}
                    ->setOptions([{{ Migration.stringifyList(index['options'], {'indent': 6}) | raw }}])
        {%~ endif %}
            )
    {%~ else %}
                [{{ Migration.stringifyList(index['columns'], {'indent': 5}) | raw }}],
        {%~ set params = {'name': indexName} %}
        {%~ if index['type'] == 'unique' %}
            {%~ set params = params|merge({'unique': true}) %}
        {%~ endif %}
                [{{ Migration.stringifyList(params, {'indent': 5}) | raw }}]
            )
    {%~ endif %}
{% endfor %}
