One would assume that renaming a default constraint should work the same way as renaming a primary key. For some unknown reason that was not the case as I had to fix the (dynamically generated) names of default constraints. The format that worked at last was this one:
Unlike most other tools, PowerShell does not offer us a -version flag to tell us its version number. There is a -Version flag (with a capital V), but that we need to use a specific version of PowerShell. What can we do to find out what version we run?
There is not much more annoying that fixing a bug in a JavaScript file and then find problems in production because the browsers of your users cached the old file. While the first reaction is to disable all caching, there is a better way in ASP.NET: append the file version to the JavaScript file name.
I run into this annoying problem after the upgrade of IdentityServer to .Net 8. The IDP application works fine, but as soon as I tried to log in on a client, I got this error:
With 2300 attendees this year's NDC Oslo was a bit smaller than the one in 2023. Nevertheless, I liked it much more and think the talks were a lot better.
Only two talks I attended finished after just 40 minutes and both times I could go to another talk and still catch some helpful insights. I had only 3 talks that did not meet my expectations, the rest were good to great talks that offered a lot of helpful insights.
For once we did not have much luck with the weather at the traditional Oslo Fjord Cruise. It started with clouds and turned into a thunderstorm. Fortunately, the boat is built in such a way that you do not notice much of these conditions if you stay inside.
I was looking forward to the workshop Designing APIs with Irina Scurtu, but that one got cancelled. Thus, I took the opportunity to finally spend some time with performance optimisation and load testing. The workshop with Mark Rendle was an excellent substitute where I learned a lot.
While this blog series on automation comes to an end, the opportunities to generate code continues. Here are some ideas for you on how to continue this journey on your own.
If we build code generators for a standardised solution, we will sooner or later need something special that does not fit into the generator. When that happens, we do not need to forfeit the benefits of our automation approach. Instead, we can build on top with hand-written code. Let us explore how we can do this safely.
In last week's post we generated repositories to access our tables. But do they work, or did we overlook something? Let us find out if everything works as expected by generating integration tests for our repositories.