Files
school_compare/pipeline/Dockerfile
TudorandClaude Fable 5 95081d38bd
PR Checks / Frontend Typecheck + Tests (pull_request) Successful in 9m39s
PR Checks / Backend Smoke (pull_request) Successful in 5s
PR Checks / Build Backend (no push) (pull_request) Successful in 17s
PR Checks / Build Frontend (no push) (pull_request) Successful in 41s
PR Checks / Build Pipeline (no push) (pull_request) Successful in 45s
PR Checks / AI Code Review (Claude) (pull_request) Successful in 1m35s
chore: remove the Ofsted Parent View feature end to end
Removes the 'What Parents Say' section and all supporting elements:

Frontend:
- Drop the OfstedParentView type, the parent_view field, the survey
  section and the 'X% would recommend' callouts in the primary and
  secondary detail views, the Parents nav item, and the parent-view CSS.

Backend:
- Remove the FactParentView model, its loading in data_loader, and
  parent_view from the school-details API response.
- Bump SCHEMA_VERSION to 6 and add an idempotent drop step
  (DROP TABLE IF EXISTS marts.fact_parent_view) to the CLI migration;
  add scripts/sql/drop_fact_parent_view.sql to apply directly to the
  dbt-owned marts DBs on staging and prod.

Pipeline:
- Delete the stg_parent_view + fact_parent_view dbt models and their
  source/schema entries, the tap-uk-parent-view Meltano extractor, and
  the monthly Parent View DAG; drop it from the Dockerfile and the
  staging bootstrap docs.

The rest of dbt (which builds every mart the app reads) is untouched.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 09:01:26 +01:00

43 lines
1.1 KiB
Docker

FROM python:3.13-slim
WORKDIR /opt/pipeline
# System dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
gcc \
libpq-dev \
curl \
&& rm -rf /var/lib/apt/lists/*
# Python dependencies
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Install custom Singer taps
COPY plugins/ plugins/
RUN pip install --no-cache-dir \
./plugins/extractors/tap-uk-gias \
./plugins/extractors/tap-uk-ees \
./plugins/extractors/tap-uk-ofsted \
./plugins/extractors/tap-uk-fbit \
./plugins/extractors/tap-uk-idaci
# Copy pipeline code
COPY meltano.yml .
COPY transform/ transform/
COPY scripts/ scripts/
COPY dags/ dags/
# Initialize Meltano project (generates catalog, installs target-postgres)
RUN meltano install
# dbt deps — invoke via the Python module so the classic dbt-postgres engine
# is used, not a standalone dbt Fusion binary that may shadow it on PATH.
RUN cd transform && python -m dbt.cli.main deps --profiles-dir . 2>/dev/null || true
ENV AIRFLOW_HOME=/opt/airflow
ENV AIRFLOW__CORE__DAGS_FOLDER=/opt/pipeline/dags
ENV PYTHONPATH=/opt/pipeline
CMD ["airflow", "api-server"]