<tr>
    {# Drop key anchor #}
    <td>
        {% set js_msg = '' %}
        {% set this_params = null %}
        {% if one_key['constraint'] is defined %}
            {% set drop_fk_query = 'ALTER TABLE ' ~ backquote(db) ~ '.' ~ backquote(table)
                ~ ' DROP FOREIGN KEY '
                ~ backquote(one_key['constraint']) ~ ';'
            %}
            {% set this_params = url_params %}
            {% set this_params = {
                'goto': url('/table/relation'),
                'back': url('/table/relation'),
                'sql_query': drop_fk_query,
                'message_to_show': 'Foreign key constraint %s has been dropped'|trans|format(
                    one_key['constraint']
                )
            } %}
            {% set js_msg = 'ALTER TABLE ' ~ db ~ '.' ~ table ~ ' DROP FOREIGN KEY ' ~ one_key['constraint'] ~ ';' %}
        {% endif %}
        {% if one_key['constraint'] is defined %}
            <input type="hidden" class="drop_foreign_key_msg" value="
                {{- js_msg }}">
            {% set drop_str = get_icon('b_drop', 'Drop'|trans) %}
            {{ link_or_button(url('/sql'), this_params, drop_str, {'class': 'drop_foreign_key_anchor ajax'}) }}
        {% endif %}
    </td>
    <td>
        <span class="formelement clearfloat">
            <input type="text" name="constraint_name[{{ i }}]" value="
                {{- one_key['constraint'] is defined ? one_key['constraint'] -}}
                " placeholder="{% trans 'Constraint name' %}" maxlength="64">
        </span>
        <div class="float-start">
            {# For ON DELETE and ON UPDATE, the default action
               is RESTRICT as per MySQL doc; however, a SHOW CREATE TABLE
               won't display the clause if it's set as RESTRICT. #}
            {% set on_delete = one_key['on_delete'] is defined
                ? one_key['on_delete'] : 'RESTRICT' %}
            {% set on_update = one_key['on_update'] is defined
                ? one_key['on_update'] : 'RESTRICT' %}
            <span class="formelement">
                {% include 'table/relation/dropdown_generate.twig' with {
                    'dropdown_question': 'ON DELETE',
                    'select_name': 'on_delete[' ~ i ~ ']',
                    'choices': options_array,
                    'selected_value': on_delete
                } only %}
            </span>
            <span class="formelement">
                {% include 'table/relation/dropdown_generate.twig' with {
                    'dropdown_question': 'ON UPDATE',
                    'select_name': 'on_update[' ~ i ~ ']',
                    'choices': options_array,
                    'selected_value': on_update
                } only %}
            </span>
        </div>
    </td>
    <td>
        {% if one_key['index_list'] is defined %}
            {% for key, column in one_key['index_list'] %}
                <span class="formelement clearfloat">
                    {% include 'table/relation/dropdown_generate.twig' with {
                        'dropdown_question': '',
                        'select_name': 'foreign_key_fields_name[' ~ i ~ '][]',
                        'choices': column_array,
                        'selected_value': column
                    } only %}
                </span>
            {% endfor %}
        {% else %}
            <span class="formelement clearfloat">
                {% include 'table/relation/dropdown_generate.twig' with {
                    'dropdown_question': '',
                    'select_name': 'foreign_key_fields_name[' ~ i ~ '][]',
                    'choices': column_array,
                    'selected_value': ''
                } only %}
            </span>
        {% endif %}
        <a class="formelement clearfloat add_foreign_key_field" data-index="
            {{- i }}" href="">
            {% trans '+ Add column' %}
        </a>
    </td>
    {% set tables = [] %}
    {% if foreign_db %}
        {% set tables = get_tables(foreign_db, tbl_storage_engine) %}
    {% else %}
        {% set tables = get_tables(db, tbl_storage_engine) %}
    {% endif %}
    <td>
        <span class="formelement clearfloat">
            {% include 'table/relation/relational_dropdown.twig' with {
                'name': 'destination_foreign_db[' ~ i ~ ']',
                'title': 'Database'|trans,
                'values': databases,
                'foreign': foreign_db,
                'db': db
            } only %}
        </span>
    </td>
    <td>
        <span class="formelement clearfloat">
            {% include 'table/relation/relational_dropdown.twig' with {
                'name': 'destination_foreign_table[' ~ i ~ ']',
                'title': 'Table'|trans,
                'values': tables,
                'foreign': foreign_table
            } only %}
        </span>
    </td>
    <td>
        {% if foreign_table is not same as('') %}
            {% for foreign_column in one_key['ref_index_list'] %}
                <span class="formelement clearfloat">
                    {% include 'table/relation/relational_dropdown.twig' with {
                        'name': 'destination_foreign_column[' ~ i ~ '][]',
                        'title': 'Column'|trans,
                        'values': unique_columns,
                        'foreign': foreign_column
                    } only %}
                </span>
            {% endfor %}
        {% else %}
            <span class="formelement clearfloat">
                {% include 'table/relation/relational_dropdown.twig' with {
                    'name': 'destination_foreign_column[' ~ i ~ '][]',
                    'title': 'Column'|trans,
                    'values': [],
                    'foreign': ''
                } only %}
            </span>
        {% endif %}
    </td>
</tr>
