Skip to content

All versions since 5.2.0

5.2.0

Added

  • Type references are never checked for existence. SQLite accepts any type name — a column’s type is advisory — so the provider now declares this (SqliteSqlEquivalence.ValidatesTypeNames), and a plan resolves every type reference rather than hedging about names it cannot verify.

5.3.0

Changed

  • A create is a create. CREATE VIEW no longer drops an existing view first: the unconditional drop-and-create renders only for the new replace action, where the plan knows the view exists. A create colliding with a view the plan didn’t know about now fails loudly instead of silently overwriting it.

5.3.1

Fixed

  • int columns render as INTEGER. Only that exact spelling makes a SQLite primary key the rowid alias, and an introspected INTEGER parses to the model’s int — so the previous int rendering quietly changed a table’s shape on a round trip.

5.4.0

Added

  • XML indexes are reported. SQLite has no XML type, so nothing to shred and no node table to index.
  • Schema binding and view indexes are reported. SQLite re-parses a view at each use and stores nothing to index, so a declaration that binds a view to its schema or puts an index on one is now an error diagnostic on the plan rather than something the plan quietly drops.

5.5.0

Added

  • SupportsRestrict is declared, so RESTRICT is rendered rather than dropped.

Changed

  • The build now writes the full dependency closure beside the assembly (CopyLocalLockFileAssemblies), so a dotnet build of this project can be loaded directly by PLUGIN ( path = '...' ) without being packed first. Package contents are unchanged.

Fixed

  • RESTRICT is no longer parsed as NO ACTION. The DDL parser recognised CASCADE, SET NULL and SET DEFAULT and let everything else fall through, so a foreign key declaring RESTRICT came back declaring nothing.
  • Generated columns are no longer all STORED. Sqlite defaults to VIRTUAL, and the dialect emitted STORED unconditionally, so a virtual column round-tripped as a stored one.

5.5.1

Fixed

  • Documentation is reported once, not once per action. Sqlite records no comment anywhere, so it now declares SupportsComments = false and renders the comment actions as nothing.

Versioning policy

This package uses lockstep major versioning with the NSchema.Core package: NSchema.Sqlite X.*.* requires NSchema.Core X.*.*, so version compatibility is always clear.

As a consequence, breaking changes that are specific to this provider (rather than the core API) are signalled by a minor version bump rather than a major one, and called out explicitly in this changelog.

5.5.2 Latest

Fixed

  • A stored generated column is no longer read back as virtual.