This article explains how to compare databases and generate schema models using Flyway Enterprise CLI with PowerShell. It allows developers and DBAs to identify schema differences between environments and create schema models that capture the current state of a database, making it easier to track and review changes over time.Read more
Flyway's JSON output provides a lot of useful information about the migrations files, database, and version changes, in a format that automated processes can read and use. This article demonstrates how we can create a Flyway callback that uses this JSON output to automatically send simple, human-readable notifications of what…Read more
This article demonstrates using PowerShell-based tokenization to compare two SQL migration files. It ignores non-functional changes like comments or formatting and pinpoints the first meaningful change in SQL logic, providing detailed feedback on its location and nature.Read more
This article provides a scripted SQL tokenizer script that quickly verifies whether a Flyway validation error is a real cause for concern, due to retrospective metadata changes, or just the result of a developer valiantly adding formatting and documentation to improve the code. If the changes are purely cosmetic, we…Read more
Extracting and importing data for development and testing is made trickier due to issues such as constraints, dependencies, and special data types. This article introduces a cross-RDBMS solution with JSON for data storage and PowerShell cmdlets that use ODBC to help automate extraction and import, and JSON Schema for validation.…Read more
Environment Variables make interactive use of Flyway much easier, and they are essential when developing callback scripts. This article explains the range of configuration details you can provide and how, and demos a PowerShell script to auto-convert the parameter values stored in Flyway .conf files into environment variables.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…Read more
This article illustrates the importance in any database development project of a 'multi-layered' approach to database access controls and security checks, based on the Principle of Least Privilege. It describes a security incident that was raised when databases related to a local development project were found to have been erroneously…Read more
Database forking allows teams to multi-task, working on different strands of development in parallel. It also allows them to manage several 'variants' of a production database, such as for SaaS applications with client-specific schema requirements. This article explains how Flyway supports and simplifies database forking, via use of Flyway's locations,…Read more