GA
Gaddiel
Home / Work / DB Change Executor
Project· 2025

DB Change Executor

Streamlit internal tool that lets non-engineers safely run schema changes and batch updates via a JSON-config UI.

Status
Live
Dates
2025
Outcome
4M+ records
Role
Sole engineer

Scoped chat

Reading: this project only
Ask me about my work
Every answer cites its source.
Scoped to DB Change Executor
GA
Hey, ask me anything about my work, projects, or how I'd fit your team. Every answer cites its source.

Problem

GTBank’s operations teams frequently need to run schema changes and batch data updates against production databases, especially during migrations and reconciliations. Each request typically routed through the engineering team, who ran the SQL by hand. Engineers became a bottleneck for routine operations they were over-qualified to perform, and ad-hoc SQL is error-prone.

The Finacle core-banking migration was about to multiply this load by 10×. We needed a way for non-technical operators to run safe, repeatable database operations without writing SQL.

Approach

Built an internal Streamlit tool that wraps every database operation behind a config-driven UI.

  • Configuration as data. Every operation is a JSON config. Schema change, batch update, post-deployment script: all expressed declaratively. Non-engineers fill out a form; the tool generates the SQL.
  • Vectorised mapping engine. For the Finacle migration, a pandas-based mapping engine handled CIF and account translation across 4M+ records using vectorised lookups instead of row-by-row updates.
  • Dynamic CASE-based SQL. Generated update statements use CASE WHEN blocks to apply per-row mappings in a single transaction, avoiding N+1 query problems.
  • Transaction-safe execution. Every operation runs in a transaction with rollback on any per-row failure. No partial state.
  • Audit log. Every run captures the operator, the config, the affected rows, and the outcome. Compliance can reconstruct any change.
  • Real-time progress visualisation. Streamlit progress bars and row counters give operators visibility into long-running operations.

Results

  • 4M+ customer and account records safely reconciled during the Finacle migration cutover
  • Zero data integrity incidents during cutover. The tool was the safety net.
  • Engineering team freed from being the bottleneck for routine DB operations
  • Adopted across multiple ops teams beyond the migration

Reflections

  • Config-driven UIs are a force-multiplier for ops teams. Designing the JSON schema took longer than building the executor; the result was operators running their own migrations.
  • Transactions + vectorised pandas + dynamic SQL beat orchestrating thousands of small queries. The single-transaction-per-run pattern made rollback trivial.
  • Streamlit was the right call for an internal-only tool with a team of 5-10 daily users. Would have been overkill to build a full SPA; would have been frustrating to leave as raw SQL.
Suggested
Ask the assistant about my work
Projects
RAG Knowledge Assistant (Prototype)
Llama 3
DB Change Executor
Streamlit
Finacle Cross-System Integrations
Oracle
ProcessMaker 2 → 3 Migration
ProcessMaker
Riff - Voice-First AI Music Production Partner
React
Exam Portal - Self-Hostable Assessment Platform
.NET 8
Actions
Email Gaddiel
Download CV (PDF)
PressK · ?for shortcuts