Skip to content

Releases: jbogard/Respawn

v6.2.1

19 Jan 21:55
2ad376d
Compare
Choose a tag to compare

What's Changed

Full Changelog: v6.2.0...v6.2.1

v6.2.0

09 Jan 14:48
d07ad07
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v6.1.0...v6.2.0

v6.1.0

07 Jul 20:52
6bb39d4
Compare
Choose a tag to compare

What's Changed

  • Fixed ERROR: operator does not exist: information_schema.sql_identifier + unknown by @gabrielheming in #105
  • Fix string concatenation when build oracle table/relation command text by @MingMZ in #114
  • Better exception when database is empty/no tables found by @jbogard in #115
  • Bump Oracle.ManagedDataAccess.Core from 3.21.50 to 3.21.90 in /Respawn.DatabaseTests by @dependabot in #119
  • Only allowing SQL adapter for the overload that takes a connection st… by @jbogard in #123

New Contributors

Full Changelog: v6.0.0...v6.1.0

v6.0.0

30 Sep 12:33
c3f5d4a
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v5.0.1...v6.0.0

Migration Guide

This release contains breaking changes:

  • Checkpoint class renamed to Respawner
  • Checkpoint options moved to RespawnerOptions
  • Instantiation broken in two steps - Respawner.CreateAsync takes a connection and options object and returns a Respawner with SQL initialized
  • Reset method renamed to ResetAsync to avoid async confusion

5.0.0

14 Jan 14:49
c654c49
Compare
Choose a tag to compare

As part of this release we had 12 issues closed.

Improvements/Features

  • #91 Adding support for including and excluding schemas with tables across all databases
  • #90 .NET Standard 2.1 and .NET 6
  • #88 Keyword not supported: 'port' not support for PostgreSQL
  • #85 Fix issue #84 "Reset fails in MSSQL when using temporal tables and reserved words for table names"
  • #84 Reset fails in MSSQL when using temporal tables and reserved words for table names
  • #82 Fix issue #52 "Oracle doesn't query for relationships properly"
  • #81 Throw InvalidOperationException When Ignore only one table
  • #79 Add BuildReseedSql for mysql
  • #77 FK uniqueness issues
  • #76 Add sequence reset for Postgres.
  • #73 Reset fails in SQL Server when temporal table or history table are in non-default schemas
  • #70 Checkpoint tries to truncate internal Postgres tables

Breaking changes

TablesToIgnore and TablesToInclude changed from type string to Table

In order to support ignoring/including both schemas and tables, the TablesToIgnore and TablesToInclude properties are now of type Table:

public class Checkpoint
{
-	public string[] TablesToIgnore { get; init; } = Array.Empty<string>();
-	public string[] TablesToInclude { get; init; } = Array.Empty<string>();
+	public Table[] TablesToIgnore { get; init; } = Array.Empty<Table>();
+	public Table[] TablesToInclude { get; init; } = Array.Empty<Table>();

For existing code that still needs to ignore/include tables regardless of the schema, the Table object has an implicit conversion operator from string. Specify the array type to activate the conversion:

var checkpoint = new Checkpoint
{
    TablesToIgnore = new Table[]
    {
        "Foo",
        "Bar"
    }
};

Or specify the schema by instantiating a Table object:

var checkpoint = new Checkpoint
{
    TablesToIgnore = new[]
    {
        new Table("dbo", "Foo"), 
        new Table("dbo", "Bar")
    }
};

Targeting only netstandard2.1

Respawn only targets netstandard2.1 and above (.NET 5, 6, etc.). For .NET Core-based tests, upgrade to .NET 3.1 or later.

For .NET Framework-based tests you may:

  • Upgrade to .NET Core for the test project
  • Continue to use 4.0

4.0.0

28 Dec 17:15
Compare
Choose a tag to compare

This releases removes the dependency on System.Data.SqlClient and uses Microsoft.Data.SqlClient instead.

3.3.0

09 Mar 15:56
cf6536b
Compare
Choose a tag to compare

This release includes:

  • #60 - SQL temporal table support
  • #58 - Performance improvement for Postgres

3.2.0

08 Mar 13:47
5748fa0
Compare
Choose a tag to compare

This release allows to specify which tables to include (as well as exclude)

3.0.0

29 Jan 22:04
Compare
Choose a tag to compare

This release:

  • Adds support for circular/complex table relationships. This is done by intelligently disabling/enabling foreign key constraints
  • Adds support for Oracle
  • Removes support for SQL Server CE

Changelog