Claude Code database

Database Migration Silently Fails, Schema Mismatch

A new database migration file was created but didn't execute when starting the application. The database schema remains out of sync with the application code, causing runtime errors when trying to access new columns or tables.

This occurs when migration tools (Flyway, Liquibase) don't detect the new file, have incorrect naming conventions, or encounter permission issues during execution.

Error Messages You Might See

Migration failed: syntax error in SQL migration Column 'new_field' doesn't exist Table migration_history is locked Cannot execute DDL statements
Migration failed: syntax error in SQL migrationColumn 'new_field' doesn't existTable migration_history is lockedCannot execute DDL statements

Common Causes

  1. Migration file not in correct directory (e.g., db/migration/ vs db/migrations/)
  2. Migration filename doesn't follow version naming convention (V001__ vs V1__)
  3. Migration has syntax errors that are caught but not reported until runtime
  4. Database user lacks DDL permissions to create tables/columns
  5. Migration previously failed, blocking subsequent migrations from running

How to Fix It

Verify migration files are in src/main/resources/db/migration/. Use correct Flyway naming: VX__description.sql. Check database user permissions with CREATE TABLE, ALTER TABLE. Review migration logs in the database metadata table. Use 'repair' command carefully only after fixing failed migrations.

Real developers can help you.

Matthew Butler Matthew Butler Systems Development Engineer @ Amazon Web Services Basel Issmail Basel Issmail ’m a Senior Full-Stack Developer and Tech Lead with experience designing and building scalable web platforms. I work across the full development lifecycle, from translating business requirements into technical architecture to delivering reliable production systems. My work focuses on modern web technologies, including TypeScript, Angular, Node.js, and cloud-based architectures. I enjoy solving complex technical problems and helping teams turn product ideas and prototypes into working platforms that can grow and scale. In addition to development, I often collaborate closely with product managers, business analysts, designers, and QA teams to ensure that solutions align with both technical and business goals. I enjoy working with startups and product teams where I can contribute both as a hands-on engineer and as a technical partner in designing and delivering impactful software. Luca Liberati Luca Liberati I work on monoliths and microservices, backends and frontends, manage K8s clusters and love to design apps architecture Nam Tran Nam Tran 10 years as fullstack developer Costea Adrian Costea Adrian Embedded Engineer specilizing in perception systems. Latest project was a adas camera calibration system. legrab legrab I'll fill this later AUXLE AUXLE I am a Full Stack Developer experienced in building Websites, Web apps and Cross Platform Mobile Apps for Startups and Companies. Taufan Taufan I’m a product-focused engineer and tech leader who builds scalable systems and turns ideas into production-ready platforms. Over the past years, I’ve worked across startups and fast-moving teams, leading backend architecture, improving system reliability, and shipping products used by thousands of users. My strength is not just writing code — but connecting product vision, technical execution, and business impact. Bastien Labelle Bastien Labelle Full stack dev w/ 20+ years of experience Antriksh Narang Antriksh Narang 5 years+ Experienced Dev (Specially in Web Development), can help in python, javascript, react, next.js and full stack web dev technologies.

You don't need to be technical. Just describe what's wrong and a verified developer will handle the rest.

Get Help

Frequently Asked Questions

What's the correct migration file naming?

Use Flyway convention: V<version>__<description>.sql (e.g., V2__add_user_profile.sql). Versions must be unique and increasing.

How to recover from failed migrations?

Check the migration history table. Create a new migration (V3__fix_previous_error.sql) to correct the issue. Never modify old migrations.

Why does development still work but production fails?

Dev might auto-recreate schema, production uses existing schema. Always test migrations on a copy of production data.

Related Claude Code Issues

Can't fix it yourself?
Real developers can help.

You don't need to be technical. Just describe what's wrong and a verified developer will handle the rest.

Get Help