Commands
{% if unified_commands and unified_commands[0].result and unified_commands[0].result.cli_options %} {% set is_dry_run = unified_commands[0].result.cli_options.get('dry_run', False) %} {% if is_dry_run %}DRY RUN MODE
No migrations were actually executed. This report shows what would have been executed.
--{{ key|replace('_', '-') }}:
{% if value is mapping %}
{{ value|tojson }}
{% elif value is iterable and value is not string %}
{{ value|join(', ') }}
{% elif value == True %}
enabled
{% else %}
{{ value }}
{% endif %}
{% endfor %}
| Version | Description | Type | Status | Installed On | Installed By | Execution Time |
|---|---|---|---|---|---|---|
| {{ migration.version|default('N/A') }} | {{ migration.description|default(migration.script) }} | {% if migration.type == 'VERSIONED' or migration.type == 'SQL' %} Versioned {% elif migration.type == 'REPEATABLE' %} Repeatable {% elif migration.type == 'UNDO_SQL' %} Undo {% elif migration.type == 'BASELINE' %} Baseline {% else %} {{ migration.type|default('N/A') }} {% endif %} | {% if migration.status|lower == 'success' or migration.status|lower == 'applied' %} {{ migration.status }} {% elif migration.status|lower == 'pending' %} {{ migration.status }} {% elif migration.status|lower == 'failed' %} {{ migration.status }} {% else %} {{ migration.status }} {% endif %} | {{ migration.installed_on|default('N/A') }} | {{ migration.installed_by|default('N/A') }} | {{ migration.execution_time|default('N/A') }} |
| # | Statement | Timeline | Execution Time |
|---|---|---|---|
| {{ loop.index }} | |
|
{{ stmt.execution_time }} ms |
Database Objects
| Operation | Type | Count | Objects |
|---|---|---|---|
| {{ data.operation }} | {{ data.type.replace('_', ' ')|title }} | {{ data.count }} | {% if data.names|length > 0 %} {{ data.names|join(', ') }} {% else %} - {% endif %} |
All migrations are already applied to the database. {% elif cmd.command_type == 'UNDO' %} No migrations to undo
No applicable migrations found for undo operation. {% else %} No migrations to process
No applicable migrations found for this operation. {% endif %}
Introspection Quality & Validation
{% if introspection_quality %}Introspection Quality
{% set completeness = introspection_quality.get('completeness_score', 0) %} {% set confidence = introspection_quality.get('confidence_level', 'UNKNOWN') %} {% set error_count = introspection_quality.get('error_count', 0) %} {% set warning_count = introspection_quality.get('warning_count', 0) %}Missing Objects
{{ (diff_data.missing_tables|length if diff_data.missing_tables else 0) + (diff_data.missing_views|length if diff_data.missing_views else 0) + (diff_data.missing_indexes|length if diff_data.missing_indexes else 0) + (diff_data.missing_sequences|length if diff_data.missing_sequences else 0) + (diff_data.missing_triggers|length if diff_data.missing_triggers else 0) + (diff_data.missing_procedures|length if diff_data.missing_procedures else 0) + (diff_data.missing_functions|length if diff_data.missing_functions else 0) }}
Tables: {{ diff_data.missing_table_count|default(0) }}, Views: {{ diff_data.missing_views|length if diff_data.missing_views else 0 }}, Indexes: {{ diff_data.missing_indexes|length if diff_data.missing_indexes else 0 }}, Others: {{ (diff_data.missing_sequences|length if diff_data.missing_sequences else 0) + (diff_data.missing_triggers|length if diff_data.missing_triggers else 0) + (diff_data.missing_procedures|length if diff_data.missing_procedures else 0) + (diff_data.missing_functions|length if diff_data.missing_functions else 0) }}Extra Objects
{{ (diff_data.extra_tables|length if diff_data.extra_tables else 0) + (diff_data.extra_views|length if diff_data.extra_views else 0) + (diff_data.extra_indexes|length if diff_data.extra_indexes else 0) + (diff_data.extra_sequences|length if diff_data.extra_sequences else 0) + (diff_data.extra_triggers|length if diff_data.extra_triggers else 0) + (diff_data.extra_procedures|length if diff_data.extra_procedures else 0) + (diff_data.extra_functions|length if diff_data.extra_functions else 0) }}
Tables: {{ diff_data.extra_table_count|default(0) }}, Views: {{ diff_data.extra_views|length if diff_data.extra_views else 0 }}, Indexes: {{ diff_data.extra_indexes|length if diff_data.extra_indexes else 0 }}, Others: {{ (diff_data.extra_sequences|length if diff_data.extra_sequences else 0) + (diff_data.extra_triggers|length if diff_data.extra_triggers else 0) + (diff_data.extra_procedures|length if diff_data.extra_procedures else 0) + (diff_data.extra_functions|length if diff_data.extra_functions else 0) }}Modified Objects
{{ (diff_data.modified_tables|length if diff_data.modified_tables else 0) + (diff_data.modified_views|length if diff_data.modified_views else 0) + (diff_data.modified_indexes|length if diff_data.modified_indexes else 0) + (diff_data.modified_sequences|length if diff_data.modified_sequences else 0) + (diff_data.modified_triggers|length if diff_data.modified_triggers else 0) + (diff_data.modified_procedures|length if diff_data.modified_procedures else 0) + (diff_data.modified_functions|length if diff_data.modified_functions else 0) }}
Tables: {{ diff_data.modified_table_count|default(0) }}, Views: {{ diff_data.modified_views|length if diff_data.modified_views else 0 }}, Indexes: {{ diff_data.modified_indexes|length if diff_data.modified_indexes else 0 }}, Others: {{ (diff_data.modified_sequences|length if diff_data.modified_sequences else 0) + (diff_data.modified_triggers|length if diff_data.modified_triggers else 0) + (diff_data.modified_procedures|length if diff_data.modified_procedures else 0) + (diff_data.modified_functions|length if diff_data.modified_functions else 0) }}Total Diffs
{{ diff_data.total_differences }}
Missing & Extra Objects
{% if diff_data.missing_tables %}Missing Tables ({{ diff_data.missing_tables|length }})
These tables exist in {{ diff_data.source_type }} but not in {{ diff_data.target_type }}:
-
{% for table in diff_data.missing_tables %}
{{ table }}
{% endfor %}
Missing Views ({{ diff_data.missing_views|length }})
These views exist in {{ diff_data.source_type }} but not in {{ diff_data.target_type }}:
-
{% for view in diff_data.missing_views %}
{{ view }}
{% endfor %}
Missing Indexes ({{ diff_data.missing_indexes|length }})
These indexes exist in {{ diff_data.source_type }} but not in {{ diff_data.target_type }}:
-
{% for index in diff_data.missing_indexes %}
{{ index }}
{% endfor %}
Missing Sequences ({{ diff_data.missing_sequences|length }})
These sequences exist in {{ diff_data.source_type }} but not in {{ diff_data.target_type }}:
-
{% for sequence in diff_data.missing_sequences %}
{{ sequence }}
{% endfor %}
Missing Triggers ({{ diff_data.missing_triggers|length }})
These triggers exist in {{ diff_data.source_type }} but not in {{ diff_data.target_type }}:
-
{% for trigger in diff_data.missing_triggers %}
{{ trigger }}
{% endfor %}
Missing Procedures ({{ diff_data.missing_procedures|length }})
These procedures exist in {{ diff_data.source_type }} but not in {{ diff_data.target_type }}:
-
{% for procedure in diff_data.missing_procedures %}
{{ procedure }}
{% endfor %}
Missing Functions ({{ diff_data.missing_functions|length }})
These functions exist in {{ diff_data.source_type }} but not in {{ diff_data.target_type }}:
-
{% for function in diff_data.missing_functions %}
{{ function }}
{% endfor %}
Missing User-Defined Types ({{ diff_data.missing_user_defined_types|length }})
These user-defined types exist in {{ diff_data.source_type }} but not in {{ diff_data.target_type }}:
-
{% for udt in diff_data.missing_user_defined_types %}
{{ udt }}
{% endfor %}
Extra Tables ({{ diff_data.extra_tables|length }})
These tables exist in {{ diff_data.target_type }} but not in {{ diff_data.source_type }}:
-
{% for table in diff_data.extra_tables %}
{{ table }}
{% endfor %}
Extra Views ({{ diff_data.extra_views|length }})
These views exist in {{ diff_data.target_type }} but not in {{ diff_data.source_type }}:
-
{% for view in diff_data.extra_views %}
{{ view }}
{% endfor %}
Extra Indexes ({{ diff_data.extra_indexes|length }})
These indexes exist in {{ diff_data.target_type }} but not in {{ diff_data.source_type }}:
-
{% for index in diff_data.extra_indexes %}
{{ index }}
{% endfor %}
Extra Sequences ({{ diff_data.extra_sequences|length }})
These sequences exist in {{ diff_data.target_type }} but not in {{ diff_data.source_type }}:
-
{% for sequence in diff_data.extra_sequences %}
{{ sequence }}
{% endfor %}
Extra Triggers ({{ diff_data.extra_triggers|length }})
These triggers exist in {{ diff_data.target_type }} but not in {{ diff_data.source_type }}:
-
{% for trigger in diff_data.extra_triggers %}
{{ trigger }}
{% endfor %}
Extra Procedures ({{ diff_data.extra_procedures|length }})
These procedures exist in {{ diff_data.target_type }} but not in {{ diff_data.source_type }}:
-
{% for procedure in diff_data.extra_procedures %}
{{ procedure }}
{% endfor %}
Extra Functions ({{ diff_data.extra_functions|length }})
These functions exist in {{ diff_data.target_type }} but not in {{ diff_data.source_type }}:
-
{% for function in diff_data.extra_functions %}
{{ function }}
{% endfor %}
Extra User-Defined Types ({{ diff_data.extra_user_defined_types|length }})
These user-defined types exist in {{ diff_data.target_type }} but not in {{ diff_data.source_type }}:
-
{% for udt in diff_data.extra_user_defined_types %}
{{ udt }}
{% endfor %}
Modified Tables
{% for table in diff_data.modified_tables %}
{{ table.table_name }}
{{ table.severity|upper }}
SQL Diff View
| {% if line.before_num %}{{ line.before_num }}{% endif %} |
{% if line.type == 'removed' or line.type == 'equal' %}{% endif %}
|
{% if line.after_num %}{{ line.after_num }}{% endif %} |
{% if line.type == 'added' or line.type == 'equal' %}{% endif %}
|
Other Modified Objects
{% if diff_data.modified_views %} {% for view in diff_data.modified_views %} {{ view.view_name }}
| {% if line.before_num %}{{ line.before_num }}{% endif %} |
{% if line.type == 'removed' or line.type == 'equal' %}{% endif %}
|
{% if line.after_num %}{{ line.after_num }}{% endif %} |
{% if line.type == 'added' or line.type == 'equal' %}{% endif %}
|
Modified Indexes
{% for index in diff_data.modified_indexes %} {{ index.index_name|default(index) }}
| {% if line.before_num %}{{ line.before_num }}{% endif %} |
{% if line.type == 'removed' or line.type == 'equal' %}{% endif %}
|
{% if line.after_num %}{{ line.after_num }}{% endif %} |
{% if line.type == 'added' or line.type == 'equal' %}{% endif %}
|
Modified Sequences
{% for sequence in diff_data.modified_sequences %} {{ sequence.sequence_name|default(sequence) }}
| {% if line.before_num %}{{ line.before_num }}{% endif %} |
{% if line.type == 'removed' or line.type == 'equal' %}{% endif %}
|
{% if line.after_num %}{{ line.after_num }}{% endif %} |
{% if line.type == 'added' or line.type == 'equal' %}{% endif %}
|
Modified Triggers
{% for trigger in diff_data.modified_triggers %} {{ trigger.trigger_name|default(trigger) }}
| {% if line.before_num %}{{ line.before_num }}{% endif %} |
{% if line.type == 'removed' or line.type == 'equal' %}{% endif %}
|
{% if line.after_num %}{{ line.after_num }}{% endif %} |
{% if line.type == 'added' or line.type == 'equal' %}{% endif %}
|
Modified Procedures
{% for procedure in diff_data.modified_procedures %} {{ procedure.procedure_name|default(procedure) }}
| {% if line.before_num %}{{ line.before_num }}{% endif %} |
{% if line.type == 'removed' or line.type == 'equal' %}{% endif %}
|
{% if line.after_num %}{{ line.after_num }}{% endif %} |
{% if line.type == 'added' or line.type == 'equal' %}{% endif %}
|
Modified Functions
{% for function in diff_data.modified_functions %} {{ function.function_name|default(function) }}
| {% if line.before_num %}{{ line.before_num }}{% endif %} |
{% if line.type == 'removed' or line.type == 'equal' %}{% endif %}
|
{% if line.after_num %}{{ line.after_num }}{% endif %} |
{% if line.type == 'added' or line.type == 'equal' %}{% endif %}
|
Export Results
{% set export_result = result %} {% set total_objects = export_result.objects_exported.values()|sum if export_result.objects_exported else 0 %} {% if export_result.objects_exported %}Total Objects
{{ total_objects }}
Objects exportedObject Types
{{ export_result.objects_exported|length }}
Different typesGenerated Files
{{ export_result.output_files|length if export_result.output_files else 0 }}
SQL files createdObjects Exported
Generated Files
{{ file }}
Filters Applied
{{ filter }}
{% endfor %}
Output Options
Export Results
{% set export_result = cmd.result %} {% set total_objects = export_result.objects_exported.values()|sum if export_result.objects_exported else 0 %} {% if export_result.objects_exported %}Total Objects
{{ total_objects }}
Objects exportedObject Types
{{ export_result.objects_exported|length }}
Different typesGenerated Files
{{ export_result.output_files|length if export_result.output_files else 0 }}
SQL files createdObjects Exported
Generated Files
{{ file }}
Filters Applied
{{ filter }}
{% endfor %}
Output Options
| Object Type | Count | Objects |
|---|---|---|
| {{ object_type.replace('_', ' ')|title }} | {{ names_list|length }} | {{ names_list|join(', ') }} |
Validation Results
{% if cmd.success %}✓ All migrations validated successfully
{% if cmd.migrations %}Validated {{ cmd.migrations|length }} migration(s)
{% endif %}✗ Validation failed
{% if cmd.error_message %}{{ cmd.error_message }}
{% endif %}Migration Status
Baseline Information
{% if cmd.success %}✓ Schema baselined successfully
{% if cmd.result %} {% set test_version = cmd.result.current_schema_version|default('') %} {% if test_version %}Baseline version: {{ cmd.result.current_schema_version }}
{% endif %} {% endif %}✗ Baseline failed
{% if cmd.error_message %}{{ cmd.error_message }}
{% endif %}Repair Results
{% if cmd.success %}✓ Schema history table repaired successfully
✗ Repair failed
{% if cmd.error_message %}{{ cmd.error_message }}
{% endif %}Command: {{ cmd.command_type }}
{% if cmd.success %}✓ Command completed successfully
✗ Command failed
{% if cmd.error_message %}{{ cmd.error_message }}
{% endif %}Migrations processed: {{ cmd.migrations|length }}
Multi-Command Execution Summary
Commands Executed
| # | Command | Status | Execution Time | Details |
|---|---|---|---|---|
| {{ loop.index }} | {{ cmd.command_type }} | {% if cmd.success %} Success {% else %} Failed {% endif %} | {{ cmd.execution_time }} ms | {% if not cmd.success and cmd.error_message %} {{ cmd.error_message }} {% else %} Completed at {{ cmd.timestamp }} {% endif %} |
{% if operation_success %} All Commands Completed Successfully {% else %} Some Commands Failed {% endif %}
Total execution time: {{ execution_time }} ms
{% if not operation_success %}Check each command for specific error details.
{% endif %}Operation Summary
{% if operation_success %} Operation Successful {% else %} Operation Failed {% endif %}
Command: {{ command_type }} {% if current_version %}Version: {{ current_version }}{% endif %} Execution time: {{ execution_time }} ms
Error
{{ error_message }}
Warnings
{% for warning in warnings %}{{ warning }}
{% endfor %}