What’s this, a new release? Give the menu a glance to see what’s been cooking. Might be something tasty! 🍨
This version bump brings a plateful of even more scripting to the table, with a side of toasts, sprinkled all over with bug fixes. Yum 😋
Now on to the good stuff:
- Main Courses
- Side Dishes
SQL Server Agent Job Scripting
Just like too much ghost pepper sauce on your enchilada, a mistake made while editing a SQL job can smolder for a while before you realize something is wrong. As the heat compounds, it may not be clear how to actually fix the mess you’re in. Here’s a tip: Chug a glass of milk and check your version control server. If you’ve been committing after every change you’ll be able to see exactly what happened and how to get back to something pleasantly spicy.
Cheers to Alon R., Herbert B., Jim W., and Michael A. for requesting this feature 🍻
Assembly, DDL Trigger, Spatial and Full-Text Index Scripting
Pizza at a Chinese buffet? Mac and cheese on a Mexican menu? Assemblies in a SQL database? Somebody must be ordering those, because they exist. If that’s you… well, you be you. Go ahead and save those assemblies to version control. Fair warning: Unless you speak base64-encoded binary, it’ll be hard to tell later what exactly your version control server is serving you. Take good notes.
Maybe you’re on the other end of the spectrum, ordering esoteric dishes with a perfect accent. More scripts, coming right up! If fancy indexes are your jam, you’ll find them on your table (script) without asking twice. Database-wide triggers, too. Thanks Sam F. for the call-in!
Nothing says homestyle cookin’ like a friendly smiley to say hello when you walk in. VersionSQL has learned a new skill: Hospitality.
If you’re a regular, don’t worry. The servers know your usual and will stay out of your way.
Things get busy, I understand. It’s easy to let the little things slide, like checking your changes in to version control. A little nudge can make all the difference. And if you need a little more time, just say so. We’ll check in later.
Case Change Propagation
SQL Server is not case-sensitive (except when it is). The Windows filesystem is not case-sensitive (but can be). Git is case-sensitive (but can try not to be), and Subversion too (ditto). So what happens when you rename a table in SQL Server but only change its case (e.g. test -> TEST)? Well, VersionSQL’s got your back. It’s not going to scan for objects where the only change is the name casing (that’d waste a lot of time), but if you’ve edited the script and changed the object’s casing it’ll pass the case change along to version control too. Thanks Eric G. for help untangling this.
KDiff 1.8+ Presets
I was surprised and gratified to learn that KDiff3 is still undergoing active development. VersionSQL now knows how to find and use it for diff and merges.
Minimized Context Menu Delay
The thing that bugs me the most about modern software is when it doesn’t respond to my input instantly. SSMS does a lot of things behind the scenes when you right-click on a database, but one thing it’s not doing now is waiting on VersionSQL. VersionSQL 1.8 pre-caches the tiny bit of server info that it needs in order to display the correct context menu entries as quickly as possible. Granted, that only saves 30-70 milliseconds, but it’s your valuable time. Every little bit helps.
Script Termination Character
There’s a difference in interpretation about the “newline” character (aka “end of line” character – see the confusion?). VersionSQL now ends the final line of each script with a newline. Here’s why: If the file doesn’t end with a newline, the next time you add a line to the end of the file your diff tool will show you that two lines have changed (the line you added, but also the previous line because that newline character had to be added first). This change makes for more understandable diffs.
🍔 Commit shows a warning instead of an error if a table is deleted during scripting (thanks Péter!)
🥞 Contact form now drops out to the browser if an unusable proxy is specified
🍕 File overwrite bug caused script fragments to remain if the script being committed was shorter than the one already in the repo (thanks Alon and Sam!)
🥪 Ignored objects are now excluded from batch scripting, not just from change detection (thanks again Péter!)
🥗 In rare circumstances, a git commit could be created with the timestamp of a previous commit (thanks Tor!)
🌭 Manual update check now shows a descriptive message if the update server is unavailable
🍨 No longer attempts to push an empty git commit if an error occurred while building the commit
🍰 No longer writes to the error log when a diff started from the commit message prompt aborts due to missing configuration
Thanks for reading! Compliments to the beta testers.
How about an appetizer? Download VersionSQL
Ready to place your order? Purchase VersionSQL
Need more time? Request an extended trial
As usual, send all bug reports, reviews, complaints, pizza recipes, and sticker requests to [email protected].