(table)
| 688 | @app.route('/<table>/add-index/', methods=['GET', 'POST']) |
| 689 | @require_table |
| 690 | def add_index(table): |
| 691 | dataset = get_dataset() |
| 692 | request_data = get_request_data() |
| 693 | indexed_columns = request_data.getlist('indexed_columns') |
| 694 | unique = bool(request_data.get('unique')) |
| 695 | |
| 696 | columns = dataset.get_columns(table) |
| 697 | |
| 698 | if request.method == 'POST': |
| 699 | if indexed_columns: |
| 700 | try: |
| 701 | migrate( |
| 702 | dataset._migrator.add_index( |
| 703 | table, |
| 704 | indexed_columns, |
| 705 | unique)) |
| 706 | except Exception as exc: |
| 707 | flash('Error attempting to create index: %s' % exc, 'danger') |
| 708 | app.logger.exception('Error attempting to create index.') |
| 709 | else: |
| 710 | flash('Index created successfully.', 'success') |
| 711 | return redirect(url_for('table_structure', table=table)) |
| 712 | else: |
| 713 | flash('One or more columns must be selected.', 'danger') |
| 714 | |
| 715 | return render_template( |
| 716 | 'add_index.html', |
| 717 | columns=columns, |
| 718 | indexed_columns=indexed_columns, |
| 719 | table=table, |
| 720 | unique=unique) |
| 721 | |
| 722 | @app.route('/<table>/drop-index/', methods=['GET', 'POST']) |
| 723 | @require_table |
nothing calls this directly
no test coverage detected