FluentMigrator v2.0.0 Release Notes
Release Date: 2018-04-15 // almost 6 years ago-
๐ฅ Breaking changes
IQuerySchema.DatabaseType
now returnsSqlServer2016
, etc... and notSqlServer
any more- ๐ Database specific code was moved into its own assemblies
IMigrationConventions
was renamed toIMigrationRunnerConventions
IMigrationContext
doesn't contain theIMigrationConventions
any more- Expression conventions are now bundled in the new
IConventionSet
- Expression conventions are now bundled in the new
- ๐
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 packagesFluentMigrator.Console
: TheMigrate.exe
toolFluentMigrator.MSBuild
: The MSBuildMigrate
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
forAsString
- 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
supportsSystemMethods
- 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
toFluentMigrator.Runner.<Database>
- Extension methods for - e.g. SqlServer - are now in
FluentMigrator.Extensions.SqlServer
- Moving database specific code from
- 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
- Match
- ๐จ Processors (database specific processing of expressions):
- Using the new
SqlBatchParser
to parse batches of SQL statements (GO
statement support)
- Using the new
- 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