Phil Factor shares some of the common ways database deployments go wrong, and the testing strategies and sanity checks that can will stop them happening to you. Read more
One of the problems that creeps up on you as a Flyway project grows is how to manage securely the different credentials Flyway needs to access all the databases it needs to migrate. It's easy enough to get started by storing them in the TOML config files, but that approach isn't viable once you're dealing with sensitive data, multiple environments, or stricter security requirements. Fortunately, Flyway's Property Resolvers give us several ways to pull credentials, connection information and other config details from secure stores, such as secrets managers, at runtime. Read more
Flyway's add command creates an empty new migration file of the required type, ensuring use of the proper naming convention, assigning to it the correct version number, and placing it in the required location. This article explores how the command works and why it's especially useful when you want to add a new migration as part of an automated process. Read more
This article demonstrates four ways to install and maintain the Flyway CLI. First, running it from Docker. Then, installing it manually on Windows and Linux, with a PowerShell alias to make version switching easier. Third, using a package manager like Chocolatey. Finally, for Windows users, there's a script to automatically download and install the latest Flyway version and make a PowerShell alias that always points to the latest version, even across sessions. Read more
The goal of this article is to help Flyway developers search their migration files to pinpoint exactly where a specific database object, like a table, view, or procedure, was created or changed. It introduces a PowerShell script that scans files in version order and returns the relevant DDL statements with surrounding context. Read more
Learn how Flyway's state-based deployments help teams coordinate database changes and automate deployments, reducing risk, without disrupting existing development workflows. This article explains how they work, where they fit best, and when it makes sense to move to a migration-based approach. Read more
Unexpected changes to a database, known as drift, can cause inconsistencies between environments and break deployments. Flyway Enterprise provides powerful techniques to catch these unexpected changes in your databases, giving teams confidence that the version of the database they test is the one they release and that the target environment is in the expected state before deployment. Read more
This article demonstrates simple techniques to security-check any processes that use Bash or PowerShell scripts to automate database tasks, when using Flyway. These checks help ensure a script is trusted, hasn't been tampered with since creation, and doesn't contain commands commonly used with malicious intent. They add a valuable layer of protection, without sacrificing the power and flexibility that makes Flyway so effective. Read more
This article explains how a Flyway migration-first approach, backed by consistent versioning and testing, helps teams bring structure and repeatability to even the most complex release processes. Coupled with techniques such as branch-based development, Flyway can help turn large, fragile deployments into smaller, more frequent, and more reliable operations. Read more
Every development team has its own coding standards. While Flyway provides built-in rules focused on security and data protection, teams quickly find they need additional checks to maintain SQL code quality and consistency across their projects. This article will walk through the ways of defining and testing custom rules, provides a starter pack of custom rules for common code smells, and then explains how to manage your rules efficiently as your rule library grows. Read more