FluentMigrator v2.0.0 Release Notes

Release Date: 2018-04-15 // almost 6 years ago
  • ๐Ÿ’ฅ Breaking changes

    • IQuerySchema.DatabaseType now returns SqlServer2016, etc... and not SqlServer any more
    • ๐Ÿšš Database specific code was moved into its own assemblies
    • IMigrationConventions was renamed to IMigrationRunnerConventions
    • IMigrationContext doesn't contain the IMigrationConventions any more
      • Expression conventions are now bundled in the new IConventionSet
    • ๐Ÿšš ICanBeConventional was removed during the overhaul of the expression convention system
    • 0๏ธโƒฃ Strings are now Unicode by default. Use NonUnicodeString for ANSI strings
    • ๐Ÿ“ฆ FluentMigrator.Tools was split into the following packages
      • FluentMigrator.Console: The Migrate.exe tool
      • FluentMigrator.MSBuild: The MSBuild Migrate task

    โž• Added

    • ๐Ÿ‘ Framework: .NET Standard 2.0 support
    • Database:
      • SQL Anywhere 16 support
      • SQL Server 2016 support
      • MySQL:
      • ALTER/DROP DEFAULT value support
      • MySQL 5:
      • New dialect
      • NVARCHAR for AsString
      • SQL Server 2005
      • WITH (ONLINE=ON/OFF) support
      • 64 bit identity support
      • Redshift (Amazon, experimental)
      • Firebird
      • New provider option: Force Quote=true to enforce quotes
      • All supported databases
      • Streamlined table/index schema quoting
    • ๐Ÿ‘ Unique Constraints: Non-Distinct NULL support (SQL Server 2008 and SQL Anywhere 16)
    • ๐Ÿ‘ Types: DateTime2 support
    • ๐Ÿ‘ Dialect: SQLite foreign key support
    • โšก๏ธ Insert/Update/Delete: DbNull support
    • Expression:
      • IfDatabase: Predicate support
      • IfDatabase: Method delegation support
      • Index: Creation with non-key columns
      • Conventions: Default schema name support
      • SetExistingRowsTo supports SystemMethods
      • Passing arguments to embedded SQL scripts
    • โš™ Runner:
      • TaskExecutor: HasMigrationsToApply support
      • Case insensitive arguments support
      • StopOnError flag

    ๐Ÿ”„ Changed

    • Project:
      • Moving database specific code from FluentMigrator.Runner to FluentMigrator.Runner.<Database>
      • Extension methods for - e.g. SqlServer - are now in FluentMigrator.Extensions.SqlServer
    • Database:
      • MySQL: Now announcing SQL scripts
    • โš™ Runner:
      • Better error messages
      • ListMigrations: showing (not applied) for unapplied migrations
      • Show (BREAKING) for migrations with breaking changes
      • MSBuild task is available as separate package (with custom .targets file)
      • Use provider default command timeout when no global timeout is set

    ๐Ÿ—„ Deprecated

    • Generic:
      • IAnnouncer.Write

    โœ‚ Removed

    • Generic:
      • Deprecated functions
      • SchemaDump experiment
      • T4 experiment
    • Framework:
      • .NET Framework 3.5 support
    • โš™ Runner:
      • NAnt build task

    ๐Ÿ›  Fixed

    • โš™ Runner:
      • Match TagAttribute by inheritance
    • ๐Ÿ–จ Processors (database specific processing of expressions):
      • Using the new SqlBatchParser to parse batches of SQL statements (GO statement support)
    • Database:
      • Hana: Fixed syntax for dropping a primary key
      • Oracle: Table schema now added more consistently
    • โœ… Tests:
      • Mark integration tests as ignored when no active processor could be found