Skip to content
Jon Wagner edited this page Sep 20, 2014 · 38 revisions

Change Log

v2.2.8

  • Fixed issue #36 - ordering issue when UpsertMany is returning records.
  • Fixed Singularizer bug with words with s in the middle (Henrik Schnell).

v2.2.7

  • Issue #32 - added support for collation changes in columns.

v2.2.6

  • Fixed an issue where renaming an autoproc would fail because the TVP types were also being renamed.

v2.2.5

  • Fixed Issue #31 - AllowRepair=true skips changed scripts

v2.2.4

  • Support for Column Renames with the following syntax in your table definition. -- [Before] WAS [After]

v2.2.3

  • AutoProc Find now supports a TotalRows OUTPUT Parameter for paging. If you pass in a non-null TotalRows (e.g. 0), then Find will return the total number of matching rows.
  • Small fixes for optimistic autoprocs. Timestamp columns were causing issues.

v2.2.2

  • Fixed issues around SQL Schema support. There is a small internal change to the registry table.
    • When switching to this version, your next upgrade may take a little longer to install.
    • Please be sure to backup your data before running an install with this version.
  • Issue #23 - when converting a column from NULL to NOT NULL, if you add a default to the column, Insight will automatically convert null values to the new default value.

v2.2.1

  • Issue #21 - autoprocs now output all readonly/computed columns.

v2.2.0

  • Finally added full support for objects in SQL schemas.
  • Made it easier to add new types of SQL objects. Add them to the Implementation folder and register in SchemaImpl.cs.

v2.1.3

  • Assembly now targets NET40, so it can be used with 4.0 or 4.5.

v2.1.2

  • Fixed issue with identity columns and table types.

v2.1.1

  • Fixed Issue #10 - AutoProc Find ThenBy was missing a comma.

v2.1.0

v2.0.17

  • Fixed autoproc dependency detection when a schema is used.

v2.0.16

  • Fixed regex hang when parsing certain GRANT statements.

v2.0.15

  • Fixed adding multiple permissions in a single GRANT statement.

v2.0.14

  • Fixes for installing SQL schemas and granting permissions on TYPE:: prefixed objects.

v2.0.13

  • InsightInstaller.exe now returns an exit code of 0 for success and 1 for error.

v2.0.12

  • Fixed bug with adding nullable columns to an existing table.

v2.0.11

  • Added SchemaInstaller.CommandTimeout for those times your upgrades take a while.

v2.0.10

  • Fixed Regex performance issue on 64-bit systems.
  • Fixed dropping a column with an inline default.

v2.0.9

  • Fixed issue #4 - trailing whitespace/comments were flagged as invalid SQL.

v2.0.7 / v2.0.8

  • Removed dependency on Insight.Database by using some quick database code.

v2.0.6

  • Fixed autoproc column size error with unicode strings.
  • Fixed permission dependency handling for autoprocs.
  • Fixed an issue when repairing a clustered index on SQL Azure.

v2.0.5

  • Added a command-line installer tool InsightInstaller in the nuget package\tools folder.
  • Now throws an InvalidOperationException when you try to AutoProc a table without a primary key.

v2.0.4

  • Fixed autoprocs for float and real types.
  • SchemaInstaller constructor now throws an exception when MARS is enabled on the connection.

v2.0.3

  • SchemaInstaller will now attempt to repair a missing or corrupt registry if it can handle the dependencies on the objects.
    • You can install a schema over an existing database and it will generally handle it.
    • If you corrupt your registry, you can install over it and it will generally handle it.
  • Added SchemaInstaller.AllowRepair - setting this will tell the SchemaInstaller to not throw an exception when trying to drop a non-existing object and to be more forgiving when repairing a database. Normally, it throws an exception to help detect issues with dependencies.
  • Fixed some string comparison issues that caused changes to fail when you change the case of a column or object.

v2.0.2

  • Removed ConvertingTableEventArgs, since that was no longer being used.
  • Switched from System.Transactions.TransactionScope to SQL Server transactions, since TransactionScope doesn't always roll back schema changes properly.
  • Fixed adding non-null columns with inline defaults.

v2.0.1 - Complete Rewrite

  • The SchemaInstaller API has changed slightly. You should have no trouble converting.
    • SchemaInstaller now takes a SqlConnection as a parameter instead of a connection string. This allows you to manage the lifetime of the connection.
    • CreateDatabase and DropDatabase are now static methods on SchemaInstaller.
    • RebuildMode has been removed. The dependency engine works better so it shouldn't be needed.
  • AutoProc Find now supports skip on SQL Server 2012.
  • Added a better SchemaInstaller.ScriptChanges method.
  • Compatibility with SQL Azure, so you can deploy to the cloud.
  • No dependency on SQL-SMO - SMO didn't play nicely with SQL Azure.
  • Better dependency detection - when you modify something, it makes the minimum set of changes to the database.
  • Column-level table updates - now columns can be added, removed, or modified without copying the entire data table.
  • Exceptions are now thrown when an unexpected dependency issue is detected.
    • When trying to drop an object that isn't there.
    • When objects are missing after an install is completed.
  • Now ships with a dependency on Insight.Database v1.2.9 or later.

v1.1.8

  • Found some cases where SQL SMO still changes the database connection back to master. (Fixed).

v1.1.7

  • Installer no longer uses master database unless creating/dropping database.

v1.1.6

v1.1.5

  • Fixed Upsert AutoProc when there are no identity columns.

v1.1.4

  • Fixed different GO split problem.

v1.1.3

  • NEW AutoProcs: Upsert, SelectPlural, InsertPlural, UpdatePlural, UpsertPlural, DeletePlural, Find
  • Fixed incorrect split on GO in "alGOrithm"

v1.1.2

v1.1.1

  • Added support for AutoProcs.
  • Started refactor of code to make it more testable. This will take several versions.

v1.0.58

  • Added SchemaObjectCollection.Load(Assembly, Predicate)