All versions since 5.11.1
5.11.1
Added
plan --jsonnames the action behind each statement. Every entry insqlcarries theactionit performs (CreateTable,AddForeignKey), so what a plan exercises can be read off it rather than inferred from the SQL text. Inherited from NSchema.Core.
Fixed
- An unreadable
.editorconfigno longer crashesinit,new,plan showorcompletion install/uninstall. plan showreports a corrupt plan file instead of crashing on it. Inherited from NSchema.Core: a well-formed JSON object that is not a plan deserialized into nulls, and showing it died with aNullReferenceExceptionin the reporter rather than naming the file..editorconfigseverities now reach the findings that reading a project produces, not only the engine’s.
5.11.2
Fixed
- Migration plan file unable to be deserialized. An accidental breaking change was introduced in NSchema.Core 5.9.1 that now been fixed.
5.11.3
Fixed
- Check constraints no longer cause permanent drift. Check constraints are engine-native SQL, so it gets reformatted by the database. We now store both sides of a check constraint and only compare like to like.
5.11.4
Fixed
- Engines without comment support no-longer cause errors on comments. Engines that don’t support comments now correctly ignore them.
5.11.5
All inherited from the latest NSchema.Core update.
Fixed
- Every remaining authored expression settles. Column defaults and generated expressions, index and exclusion predicates, and a domain’s checks and default are opaque SQL, rewritten by the engine, so a handwritten one would never match. All are now kept and declared like-for-like as they are for triggers, routines etc. An expression the database no longer reports is still drift, not a spelling to restore.
- Renaming a type no longer retypes the columns declared against it. The rename moved the type but left every reference naming the old one, so each column read as a retype.
- Recreate is now correctly blocked by dependents. Recreating a type that’s in use now causes an error.
- An identity that explicitly declares no options no longer differs from one that does so implicitly. No options at all and a set of unstated ones now compare equal.
- A sequence altered for one reason no longer restates the others. The change carries the folded options, so a plan that changes the cache does not also restate a start it never asked to change.
- Identity and sequence restarts now warn correctly. Restarts are data hazards: restarting the counter, means duplicate values are issued, meaning inserts collide with what is already stored.
5.12.0 Latest
Added
- NSQL extension. Project files can now be written as
.nsqlfiles, which can be syntax highlighted using NSchema.Core’s TextMate grammar.
Changed
- Default extension. When scaffolding or importing project files, the default file extension is now
.nsql