Tag: FWTips

  • Flyway Tips: Immediate Code Review for Developers

    At the Redgate Summits this year, we’ve highlighted a few things in the Flyway solution that help developers improve their ability to get work done safely and quickly. While lots of developers are moving to automated systems and catching issues in pipelines, plenty of you are still working in an IDE.

    This post looks at the new code analysis feature in Flyway Desktop that can help warn you of potential issues before you create that PR.

    I’ve been working with Flyway and Flyway Desktop and helping customers improve their database development. This series looks at some tips I’ve gotten along the way.

    Generating Good Migration Scripts

    Flyway gives you determinism and consistent scripting when you generate migration scripts. Plenty of developers still do this manually, often after a lot of work and testing is done on the schema model. Once you’re sure of the changes you want to make, you can select those changes to include in a deployment.

    As you can see below, I have a lot of changes, but I want to just pick one to put into a deployment.

    2026-07_0253

    If I click on the change, you will see that this is simply adding a new column, something developers do all the time. I’ll select that and click “Generate Migrations”2026-07_0254

    When the tab changes, the default screen shows the next numbered migration script, based on my patterns and a default description of my name. Note that there is also a “Code review checks in progress” item to the left, which is running as the code is generated.

    2026-07_0256

    Once this completes, you can see my code rules passed, and the Flyway AI has generated a better description of the changes than I might have typed in.

    2026-07_0257

    There are a number of rules by default, and these are run when the migration script is generated. You can change, add, disable, customize, etc. for these rules as appropriate for your project.

    Let’s go back and select a different change. In this case, I’m selecting the “Grant” table and dropping it. It’s in the current view of the db, but not the next one.

    2026-07_0255

    When I click Generate Migrations and go to the next tab, you can see that the code review shows me two things: a high severity error and a warning. These are summarized at the top next to the “2 issues” button (which hides or reveals the details) as dots. If I had a lot of issues, and some of you do, this gives me a quick look.

    2026-07_0258

    Below that I get the details. Both of these are for the same line, which is highlighted in the middle by a triangle next to that line.

    If I click the High Severity item, I have the options to learn more, which links to the actual rule on the Redgate documentation site. Or I can ignore it. This allows me to comment in the code to not run this review again.

    2026-07_0259

    For the warning, since this wouldn’t stop a deployment anyway, I just have a Learn more link.

    2026-07_0260

    There are certainly times this might be the desired action, so I like the ignore button. However, much of the time developers might be making changes to objects and not thinking about potential future issues. Code review here catches things early, before others have to get involved, and helps educate developers about the styles and standards we want enforced in our projects.

    If you work with Flyway, update your desktop and give it a try. We would love to hear your feedback.

    Flyway is an incredible way of deploying changes from one database to another, and now includes both migration-based and state-based deployments. You get the flexibility you need to control database changes in your environment. If you’ve never used it, give it a try today. It works for SQL Server, Oracle, PostgreSQL and nearly 50 other platforms.

    Video Walkthrough

    Watch me do this in video:

  • Flyway Tips: Multiple Projects

    One of the nice things about Flyway Desktop is that it helps you manage your database code as a project and see what changes are being built. However, many of our customers end up working with multiple databases, so there is a need for multiple projects.

    This post looks at the new addition to the GUI: the ability to work with multiple projects at one time in the same GUI.

    I’ve been working with Flyway and Flyway Desktop for work more and more as we transition from older SSMS plugins to the standalone tool. This series looks at some tips I’ve gotten along the way.

    Opening a Project

    Flyway Desktop (FWD) used to only allow one project to be open at a time. This proved cumbersome. We debated allowing multiple instances of FWD, but keeping track of them can be cumbersome. We decided to allow multiple projects inside the same FWD instance.

    You can see this below, where I have three projects open at once. I have Northwind, a Synapse project, and an Autopilot project. These are listed across the top as tabs, and clicking each brings that project to the front. The current project is showing the Autopilot one.

    2026-02_0167

    If I click the Northwind project, notice the little red underline. This indicates the project being shown.

    2026-02_0172

    To add a new project, I click the plus (+) at the top to the right of my projects.

    2026-02_0173

    This gives me a list of my projects, the same way I’d see them when I started Flyway Desktop. Notice the 3 I have open are listed first, as they were most recently touched.

    2026-02_0174

    If I click any of these projects, like my SimpleTalk_Timestamp project, it opens up. As with any project, the comparison on the Schema Model tab starts automatically.

    2026-02_0175

    Now I can switch projects quickly with a click, and my existing projects don’t close.

    Summary

    This is a small change, but one that has a big impact. The teams are constantly working on small and large changes like this. The ability to manage multiple projects is one that’s been requested and we were working on it, testing designs with customers and finding the best balance for most of them.

    We settled on multiple projects in one GUI, which I like and seems to be working well.

    If you work with Flyway, update your desktop and give it a try. We would love to hear your feedback.

    Flyway is an incredible way of deploying changes from one database to another, and now includes both migration-based and state-based deployments. You get the flexibility you need to control database changes in your environment. If you’ve never used it, give it a try today. It works for SQL Server, Oracle, PostgreSQL and nearly 50 other platforms.

    Video Walkthrough

    Watch me do this in video:

  • Flyway Tips: AI Helps with Commit Messages

    At Redgate, we’re experimenting with how AI can help developers and DBAs become better at their jobs. Everyone is asking for AI, as well as the ability to turn AI off. We’re working hard to accommodate both requests as we look for ways to leverage AI.

    One of the areas we’ve started to add some AI is in Flyway Desktop (FWD), with a few features designed to help reduce the cognitive load and save time as they work with databases.

    I wrote about summaries of migrations scripts and migration script naming recently. This post looks at another of those changes, which is the generation of a commit message..

    I’ve been working with Flyway and Flyway Desktop for work more and more as we transition from older SSMS plugins to the standalone tool. This series looks at some tips I’ve gotten along the way.

    Summarizing My Changes

    Commit messages are hard. There are numerous posts on the art of writing one, as well as no shortage of examples showing poorly structured messages. As I look through my own messages in the SQL Saturday repo, I’m somewhat surprised at times at ow well I’ve described something, or how poorly. I’ve certainly had the “fix” messages creep into my work.

    When we start making database changes, we often have a number of things we might touch. A new column could necessitate view and stored proc changes. One view might impact another, or a function. A piece of work might include alterations of a few tables, and fixes that might not be obvious need a bit of a description in the commit message.

    If nothing else, we need to ensure we’re linking commits to planned work on Azure DevOps boards, in Jira, or wherever a project manager might be assigning tasks.

    Flyway has added an AI feature to help us summarize our changes. It’s in preview as of Jan 12, 2026, and is designed to help ensure we get a better commit message than “fixed.”

    Generating Commit Messages

    When I go to the VCS tab in Flyway Desktop (FWD), I see all my changes listed. In this case, I’ve been demoing and testing a lot of things that I haven’t committed. Bad practice, and I’m a little upset with myself for not keeping my repo clean.

    2026-01_0186

    Notice the little sparkle below the Commit button? This is where the AI help lives. If I select a few files, in a few seconds I’ll get a message generated for me. This is a decent summary, at just over 50 characters.

    2026-01_0187

    If I don’t like this and want to edit it I can. If I do that, the AI won’t overwrite this. I’ll change the wording and select another file. Notice that the message remains the same.

    2026-01_0188

    If I want a new message, I can click the AI sparkle and it will regenerate this. I’ll show this in the video below.

    2026-01_0189

    If I select all the files, the AI summary isn’t great, but then again, I don’t know how I’d summarize all these changes. I might not do any better.

    2026-01_0190

    This is a small thing, but I often find that I struggle to come up with a meaningful message at times. Sometimes I do a good job and add something relevant with a work item number. Sometimes I want to just type “new table” or “fixed bug”.

    This reduces some of the creativity burden when I’m working through database changes.

    Enabling AI Features in Flyway

    This is a preview feature as of Jan 5, 2026 as I write this. To get this in your FWD, your organization needs to have enabled AI features in your portal. I’m just a member, but whoever is an admin for your Redgate products would find it here.

    2026-01_0173_thumb[1]_thumb

    In FWD, you need to look at the Preview Features item under the config menu.

    2026-01_0171_thumb_thumb

    In this area, you can enable or disable features as needed. I see these marked as Red-gate only, but I think they are supposed to be released to some customers by this time. It’s likely I need to upgrade my FWD, which I’ll do when I have time.

    2026-01_0172_thumb[1]_thumb

    Once you do this, you should start seeing some AI stuff with the purple/pink shaded area and the sparkle icon that we’re all seeing everywhere.

    2026-01_0174_thumb_thumb

    Summary

    Getting meaningful commit messages can be hard, but it’s also a tedious thing. I find that developers often get lazy and do the minimum. That AI might not be much better, but it does reduce the need for a user to think of a message and gives them a starting point from which to work.

    To me, this is one of the better uses of AI, handling a common, but tedious task. Now to go clean up my repo and take advantage of this with a bunch of smaller commits.

    This feature is documented, but we are likely to enhance and change it a bit, so all feedback is welcome. If your organization doesn’t want you using AI, and you could share some schema from a migration script, I’d be happy to test it for you and see what summary is produced and send it back to you. Ping me on X/LinkedIn/BlueSky if you want.

    Flyway is an incredible way of deploying changes from one database to another, and now includes both migration-based and state-based deployments. You get the flexibility you need to control database changes in your environment. If you’ve never used it, give it a try today. It works for SQL Server, Oracle, PostgreSQL and nearly 50 other platforms.

    Video Walkthrough

    See a video of me looking at this feature below.

  • Flyway Tips: AI Generating Migration Script Names

    AI is a big deal in 2026, and at Redgate, we’re experimenting with how AI can help developers and DBAs become better at their jobs. One of the areas we’ve started to add some AI is in Flyway Desktop (FWD), with a few features designed to help reduce the cognitive load and context switches needed while developing code, and help users better understand what changes they’re making in their systems.

    I wrote about summaries of migrations scripts last week, which are helpful when you or your colleagues don’t generate good script names, or commit messages. This post looks at another of those changes, which is the generation of the script name.

    I’ve been working with Flyway and Flyway Desktop for work more and more as we transition from older SSMS plugins to the standalone tool. This series looks at some tips I’ve gotten along the way.

    Generating Complex Scripts

    In Flyway, we call the deployment scripts “migration scripts”, but they are the same thing. These are scripts that are changing, altering, or evolving our database schema in some way. New or altered objects, various schema items, and more.

    Our guidance for a lot of customers is to keep the migration scripts simple and easy. That can work, but sometimes we want to put a few things into a script to ensure that we deploy all the changes at once. In the last article, I had this list of changes in one script.

    2026-01_0168_thumb[1]

    I generated this in the last post with a poor name.

    2026-01_0175

    Let’s fix that.

    Using the Power of AI

    I’m going to delete that script and get my list of objects in the Generate tab. I’ll select a few, as shown below.

    2026-01_0177

    Now I’ll generate the script.When the script completes, I see my default “Steve” name for the description. However, look to the right. There’s a looping circle at the far right side of the Description box. I didn’t capture a good image, but it’s actually moving in a circle.

    2026-01_0178

    When it completes, I have a better description for my changes.

    2026-01_0179

    Let me save this and repeat it for the other changes to the customer tables.

    2026-01_0180

    That’s a way better description than I would typically write.

    Enabling AI Features in Flyway

    This is a preview feature as of Jan 5, 2026 as I write this. To get this in your FWD, your organization needs to have enabled AI features in your portal. I’m just a member, but whoever is an admin for your Redgate products would find it here.

    2026-01_0173_thumb[1]

    In FWD, you need to look at the Preview Features item under the config menu.

    2026-01_0171_thumb

    In this area, you can enable or disable features as needed. I see these marked as Red-gate only, but I think they are supposed to be released to some customers by this time. It’s likely I need to upgrade my FWD, which I’ll do when I have time.

    2026-01_0172_thumb[1]

    Once you do this, you should start seeing some AI stuff with the purple/pink shaded area and the sparkle icon that we’re all seeing everywhere.

    2026-01_0174_thumb

    Summary

    Getting good migration script descriptions, or really any good descriptions, is hard. Developers get tired, they aren’t always creative, they forget things, and they sometimes just take the default.

    Witness my repo.

    2026-01_0181

    This feature reduces the burden on developers and auto-generates a name for the file. It can be edited and changed, but the dev doesn’t have to.

    This feature is documented, but we are likely to enhance and change it a bit, so all feedback is welcome. If your organization doesn’t want you using AI, and you could share some schema from a migration script, I’d be happy to test it for you and see what summary is produced and send it back to you. Ping me on X/LinkedIn/BlueSky if you want.

    Flyway is an incredible way of deploying changes from one database to another, and now includes both migration-based and state-based deployments. You get the flexibility you need to control database changes in your environment. If you’ve never used it, give it a try today. It works for SQL Server, Oracle, PostgreSQL and nearly 50 other platforms.

    Video Walkthrough

    See a video of me looking at this feature below.