Activity overview
Latest activity by Jon Kirkwood
Hi ptusch Thank you for reaching out via the Redgate forums for your Flyway process questions. If the external views are changing often and outside your control, versioned migrations in Flyway will indeed be painful. A few general approaches that work well:
Treat external views as “volatile”
Don’t version them. Instead, keep your own dependent views in repeatable scripts so they can be recreated whenever the external view changes.
Use repeatables with ordering
Flyway runs repeatables alphabetically. Many teams just prefix numbers like R__001_ to control order. It’s manual but simple and works reliably.
Automate refresh
If view B changes, you can trigger Flyway to re-run all dependent repeatables (e.g., drop & recreate) in CI/CD. Placeholders or a wrapper script can handle this.
Consider keeping some logic outside Flyway
If external volatility is too high, managing those dependencies in application code or a separate process may be simpler than forcing Flyway to track every change.
For Snowflake, this hybrid approach (version core objects, repeatable or scripted refresh for volatile ones) can be common. / comments
Official comment
Hi ptusch Thank you for reaching out via the Redgate forums for your Flyway process questions.If the external views are changing often and outside your control, versioned migrations in Flyway will ...
Hi cserna.peter Thank you for reaching out on the Redgate forum regarding your Flyway self-hosted GIT inquiry. You need to point Flyway Desktop’s built-in Git to your SSH key, as it doesn’t always use the same config as your terminal. A quick fix is to edit your global .gitconfig (e.g. C:\Users\<you>\.gitconfig ) and add: [core]
sshCommand = "ssh -i C:/Users/<You>/.ssh/id_rsa" Then restart Flyway Desktop. Also make sure your key is loaded with: ssh-add ~/.ssh/id_rsa and that git remote -v shows an SSH URL (not HTTPS). This usually fixes the Permission denied (publickey) error for the embedded Git client. / comments
Official comment
Hi cserna.peter Thank you for reaching out on the Redgate forum regarding your Flyway self-hosted GIT inquiry.You need to point Flyway Desktop’s built-in Git to your SSH key, as it doesn’t always u...
Hi Murali, Thank you for contacting Redgate support regarding your code coverage concern, I suspect this is related to our SQL Test product and have moved this post into a new location on our forums to better represent that. SQL Test provides a UI wrapper around the tSQLt framework, it doesn’t change or extend the tSQLt functionality itself. In other words, SQL Test runs whatever tSQLt syntax you provide, but the underlying behavior (such as how tSQLt.ExpectException or tSQLt.ExpectNoException works) comes from the tSQLt framework, not from SQL Test. Because of this, issues with exception handling or coverage inside tSQLt tests are usually best addressed by checking the tSQLt documentation or raising the question with the tSQLt community. https://tsqlt.org/join-the-conversation We’re happy to help confirm that SQL Test is running the tests correctly, but troubleshooting tSQLt specific logic is outside the scope of our product support. That said, some general guidance we’ve seen work for other users:
tSQLt.ExpectException only detects errors that escape the procedure — if your CATCH block swallows the error without THROW /RAISERROR , nothing reaches the test framework.
For coverage, you may need to either rethrow the error or assert side-effects (like rows in a log table) instead of expecting an exception.
You can find more details here: tSQLt Documentation – ExpectException If you’re not sure whether SQL Test itself is working correctly or if this is purely a tSQLt logic issue, we can potentially help you confirm that. / comments
Official comment
Hi Murali, Thank you for contacting Redgate support regarding your code coverage concern, I suspect this is related to our SQL Test product and have moved this post into a new location on our foru...
Hi Mohammed Hamed, Thanks for reaching out regarding your Flyway Desktop error. Could you please provide the following details to help us investigate further?
The version of Flyway you're using
A full copy of the logs
A brief description of what you were doing when the error occurred (e.g., running a migration, opening a project, saving objects)
I see you have a ticket logged directly with the support team - It would be preferred to communicated via the support portal as it can ensure a more direct line of communication with the support team and allow you to provide log files with our team securely. / comments
Official comment
Hi Mohammed Hamed,Thanks for reaching out regarding your Flyway Desktop error. Could you please provide the following details to help us investigate further?
The version of Flyway you're using
A fu...
That is great news and I'm glad you both have Prompt up and running. The double checkbox is a carry over from a Visual Studio bug in the execution of our extensions. With SSMS now using the VS framework it's going to be visible to a larger user base of our Toolbelt products. Our development team do have it on their backlog and hopefully can be reprioritized for a solution to be implemented as we see SSMS21 use grow. The manual copy of settings issue should also be resolved from V11.0.1 onwards for people migrating into V11 from an existing install. / comments
That is great news and I'm glad you both have Prompt up and running. The double checkbox is a carry over from a Visual Studio bug in the execution of our extensions. With SSMS now using the VS fra...
I did now see that you mentioned having both unchecked - this should be the trigger for it to appear. I was able to replicate the menu disappearing by having one or both of the extensions checked. Did you upgrade straight from V10 to V11? and if so into V11.0.0? There is a known issue with some settings not being copied over. It may be worth also checking this info to manually copy over some user-settings that may not have migrated. https://documentation.red-gate.com/sp/troubleshooting/common-issues/manual-migration-of-settings-from-sql-prompt-v10-to-v11 If that still doesn't resolve the displaying of SQL Prompt, please advise and we can look deeper into this. / comments
I did now see that you mentioned having both unchecked - this should be the trigger for it to appear. I was able to replicate the menu disappearing by having one or both of the extensions checked.D...
Hi OverAchiever, Thank you for reaching out on the Redgate forums regarding your SQL Prompt & SSMS21 query. There are a couple of steps that are required to get Prompt showing within SSMS21, we have a guide available here: https://documentation.red-gate.com/sp/getting-started/installing-and-running-sql-prompt under the Running SQL Prompt with SSMS 21 section Specifically you need to un-check the two SQL Prompt extensions from the Extension menu and restart. This should allow the SQL Prompt menu to appear. / comments
Official comment
Hi OverAchiever, Thank you for reaching out on the Redgate forums regarding your SQL Prompt & SSMS21 query.There are a couple of steps that are required to get Prompt showing within SSMS21, we have...
A fix for the display issue on datatype DATETIMEOFFSET has been released in SQL Data Compare. Please patch into V15.4.18 or later to receive this fix Download link here: https://download.red-gate.com/checkforupdates/SQLDataCompare/SQLDataCompare_15.4.18.28452.exe Patch notes https://documentation.red-gate.com/sdc/release-notes-and-other-versions/sql-data-compare-15-4-release-notes
15.4.18.28452 - 03 June 2025
* Fixes
ZD-332834 and ZD-328669: Fixed handling of DATETIMEOFFSET when the timezone triggers rolling over months
/ comments
A fix for the display issue on datatype DATETIMEOFFSET has been released in SQL Data Compare.Please patch into V15.4.18 or later to receive this fix Download link here: https://download.red-gate.co...
Hi and thank you for reaching out on the Redgate forums regarding your SQL Prompt V11 upgrade. Our developers have been made aware of a migration issue when first installing V11. A number of custom features such as SQL History, Tab Color, Styles and Snippets may not migrate We would recommend the following guide to help manually migrate your settings for continued usage of the tool into its new Major Release https://documentation.red-gate.com/sp/troubleshooting/common-issues/manual-migration-of-settings-from-sql-prompt-v10-to-v11 / comments
Official comment
Hi and thank you for reaching out on the Redgate forums regarding your SQL Prompt V11 upgrade.Our developers have been made aware of a migration issue when first installing V11. A number of custom ...
Hi Tim Thank you for reaching out on the Redgate forums regarding your SmartAssembly query. You're correct that obfuscating a large solution with multiple assemblies — especially when working with ReadyToRun, self-contained builds — requires a bit more setup, particularly without using the merge feature. The recommended approach in this scenario is to use a traversal project. Here’s how that typically works:
Create a .saproj file for each assembly you want to obfuscate. Each .saproj will define the input/output paths and relevant obfuscation settings.
Set up a traversal MSBuild project that sequentially runs SmartAssembly for each of those .saproj files. This is done by referencing the SmartAssembly MSBuild task like so:<SmartAssembly ProjectFile="Path\To\YourAssembly.saproj" />
These entries can be listed one after another inside a custom MSBuild target, allowing you to run all obfuscation steps in a single build pass. Each project will need to be defined explicitly, as SmartAssembly does not currently support wildcards or dynamic project discovery.
Ensure obfuscation occurs before the ReadyToRun compilation — obfuscating after native image generation isn’t supported, as native images cannot be modified by SmartAssembly.
While this process is more manual than using the merge feature, it provides the flexibility needed for large applications deploying assemblies individually. / comments
Official comment
Hi TimThank you for reaching out on the Redgate forums regarding your SmartAssembly query. You're correct that obfuscating a large solution with multiple assemblies — especially when working with R...