{% extends "base.html" %} {% set section = "modules" %} {% block title %}{{ module.name }} — Pipekit{% endblock %} {% block content %}
{{ module.name }} module #{{ module.id }} {% if module.running %}running{% endif %} {% if not module.enabled %}disabled{% endif %}
Edit
source
{{ source_conn.name }} ({{ source_conn.jdbc_url }})
destination
{{ dest_conn.name }} ({{ dest_conn.jdbc_url }})
dest table
{{ module.dest_table }}
staging table
{{ module.staging_table }}
merge strategy
{{ module.merge_strategy }}
merge key
{{ module.merge_key or "—" }}
Source query free text with {watermark} placeholders edit
{{ module.source_query }}
{% if schema_cols or module.dest_description %}
Schema {{ schema_cols|length }} column{{ 's' if schema_cols|length != 1 else '' }}
{% if module.dest_description %}

{{ module.dest_description }}

{% endif %} {% if schema_cols %} {% for c in schema_cols %} {% endfor %}
source dest type description
{{ c.source_name }} {{ c.dest_name }} {{ c.dest_type }} {{ c.description or '' }}
{% endif %}
{% endif %} {% if preview %}
Next resolved source SQL watermarks substituted — this is what will run
{{ preview.resolved_source_sql }}
Merge SQL runs against destination after staging is loaded
{{ preview.merge_sql }}
{% else %}
Preview
{% if preview_error %} error {{ preview_error }} {% else %} No preview available. {% endif %}
{% endif %}
Watermarks {{ watermarks|length }} + add
{% if watermarks %} {% for w in watermarks %} {% endfor %}
nameresolveddefault
{{ w.name }} {{ (preview.watermark_values.get(w.name) if preview else '') or '—' }} {{ w.default_value or '—' }} edit ·
{% else %}
None — this module doesn't use watermarks.
{% endif %}
Hooks {{ hooks|length }} post-merge + add
{% if hooks %} {% for h in hooks %} {% endfor %}
#whensql
{{ h.run_order }} {{ h.run_on }} {{ h.sql }} edit ·
{% else %}
No hooks.
{% endif %}
Recent runs last {{ recent_runs|length }} all →
{% if recent_runs %} {% for r in recent_runs %} {% endfor %}
idstartedstatusrows
#{{ r.id }} {{ r.started_at }} {{ r.status }} {{ r.row_count if r.row_count is not none else "—" }}
{% else %}
No runs yet.
{% endif %}
{% endblock %}