(table)
| 621 | @app.route('/<table>/drop-column/', methods=['GET', 'POST']) |
| 622 | @require_table |
| 623 | def drop_column(table): |
| 624 | dataset = get_dataset() |
| 625 | request_data = get_request_data() |
| 626 | name = request_data.get('name', '') |
| 627 | columns = dataset.get_columns(table) |
| 628 | column_names = [column.name for column in columns] |
| 629 | |
| 630 | if request.method == 'POST': |
| 631 | if name in column_names: |
| 632 | try: |
| 633 | migrate(dataset._migrator.drop_column(table, name)) |
| 634 | except Exception as exc: |
| 635 | flash('Error attempting to drop column "%s": %s' % (name, exc), |
| 636 | 'danger') |
| 637 | app.logger.exception('Error attempting to drop column.') |
| 638 | else: |
| 639 | flash('Column "%s" was dropped successfully!' % name, 'success') |
| 640 | dataset.update_cache(table) |
| 641 | return redirect(url_for('table_structure', table=table)) |
| 642 | else: |
| 643 | flash('Name is required.', 'danger') |
| 644 | |
| 645 | return render_template( |
| 646 | 'drop_column.html', |
| 647 | columns=columns, |
| 648 | column_names=column_names, |
| 649 | name=name, |
| 650 | table=table) |
| 651 | |
| 652 | @app.route('/<table>/rename-column/', methods=['GET', 'POST']) |
| 653 | @require_table |
nothing calls this directly
no test coverage detected