Bot releases are visible (Hide)
Published by fubar-coder over 5 years ago
You're now able to disable stripping of comments with the option --strip:false
.
Published by fubar-coder over 5 years ago
WithGlobalConnectionString
accepting a lambda for lazy connection string query (PR #919)PostgresOptions.ForceQuote
to false
Force Quote=false
Force Quote=true
CurrentVersionMigrationConstraint
to ensure that thisIConventionSet
loaded from given assemblies (Issue #916)RunnerOptions.StartVersion
(PR #992)//
instead of #
for comments (Issue #859)#
for comments (Issue #859)#
for comments (Issue #859)Execute.WithConnection
delegate (Issue #1001)Published by fubar-coder over 6 years ago
Published by fubar-coder over 6 years ago
Published by fubar-coder over 6 years ago
Published by fubar-coder over 6 years ago
An upgrade guide is available here:
https://fluentmigrator.github.io/articles/guides/upgrades/guide-3.0-to-3.1.html
IFilteringMigrationSource
to avoid unnecessary instantiationsIVersionTableMetaDataSourceItem
to specify multiple places to search for version table metadatadotnet-fm
and Migrate.exe
are now referencing FSharp.Core
which should ease the problems with F# (issue #883).IConfigurationRoot
for the connection string if IConfiguration
couldn't be founddotnet-fm
now uses the Oracle beta ADO.NET driverOracle plans to release a non-beta version of the driver in Q3, but
it's the only Oracle driver that works under Linux/MacOS. The console
tool (Migrate.exe
) is more Windows-centric and will therefore keep
using the standard Oracle ADO.NET library. The dotnet-fm
is mostly
used on non-Windows platforms and is therefore predestinated to use
the new beta driver.
The statement from Oracle can be found on the
Oracle website.
The console tool will switch to the new driver when it becomes stable.
var services = new ServiceCollection()
.AddFluentMigratorCore()
.ConfigureRunner(rb => rb
.AddSQLite()
.ScanIn(typeof(YourType).Assembly));
// There is a fluent interface to configure the targets for ScanIn
Configurations for ScanIn(assemblies)
:
--+-------------------------------------------+->
| ^
| |
+- For -+- All() ---------------------------+
^ | ^
| | |
| +- Migrations() ------------+-->+-->+
| | ^ |
| | | |
| +- VersionTableMetaData() --+ |
| | ^ |
| | | |
| +- EmbeddedResources() -----+ |
| |
| v
+<--------------------------------------+
Example:
var services = new ServiceCollection()
.AddFluentMigratorCore()
.ConfigureRunner(rb => rb
.AddSQLite()
.ScanIn(typeof(YourType).Assembly)
.For.Migrations()
.For.EmbeddedResources());
// There is a fluent interface to configure the targets for ScanIn
This allows the reconfiguration of the connection string/used database at run-time.
The following option classes are now resolved using IOptionSnapshot<T>
:
ProcessorOptions
SelectingProcessorAccessorOptions
SelectingGeneratorAccessorOptions
TypeFilterOptions
The following services are now scoped instead of singleton:
IVersionTableMetaDataAccessor
IVersionTableMetaData
IMigrationSource
IMigrationInformationLoader
The MigrationSource
now consumes all registered IMigrationSourceItem
instances.
Published by fubar-coder over 6 years ago
The new documentation is online on https://fluentmigrator.github.io.
https://fluentmigrator.github.io/articles/guides/upgrades/guide-2.0-to-3.0.html
ProcessorOptions.Timeout
is now of type System.TimeSpan?
MigrationRunner.MaintenanceLoader
is now read-onlyMigrationRunner.CaughtExceptions
returns now a IReadOnlyList
dotnet-fm
is now a global tool and requires at least the .NET Core tooling 2.1-preview2IConfiguration
service (Microsoft.Extensions.Configuration)IMigrationExpressionValidator
for custom migration expression validationNULL
constraint for custom types for PostgreSQL and SQL ServerIAssemblyCollection
and all its implementationsIAnnouncer
and all its implementationsIMigrationRunnerConventions.GetMigrationInfo
IProfileLoader.ApplyProfiles()
IProfileLoader.FindProfilesIn
IMigrationProcessorOptions
IMigrationProcessorFactory
and all its implementationsIRunnerContext
and RunnerContext
, replaced by several dedicated options classes:
RunnerOptions
are the new RunnerContext
(minus some properties extracted into separate option classes)ProcessorOptions
for global processor-specific optionsGeneratorOptions
to allow setting the compatibility modeTypeFilterOptions
for filtering migrations by namespaceAnnouncerOptions
to enable showing SQL statements and the elapsed timeSelectingProcessorAccessorOptions
allows selection of a processor by its identifierSelectingGeneratorAccessorOptions
allows selection of a generator by its identifierAppConfigConnectionStringAccessorOptions
to allow leading the connection strings from the *.config xml file (deprecated, only for transition to Microsoft.Extensions.Configuration
)CompatabilityMode
(is now ComatibilityMode
)ApplicationContext
in various interfaces/classesManifestResourceNameWithAssembly
replaced by ValueTuple
MigrationGeneratorFactory
MigrationProcessorFactoryProvider
ITypeMap.GetTypeMap(DbType, int, int)
IDbFactory
: Only the implementations will remainThe library assumes that in ProcessorOptions.ConnectionString
is either a connection string or
a connection string identifier. This are the steps to load the real connection string.
IConnectionStringReader
implementations
IConnectionStringReader
ProcessorOptions.ConnectionString
The connection string stored in ProcessorOptions.ConnectionString
might be overridden
by registering the IConnectionStringReader
instance PassThroughConnectionStringReader
as scoped service.
When no connection string could be found, the SelectingProcessorAccessor
returns
a ConnectionlessProcessor
instead of the previously selected processor.
// Initialize the services
var serviceProvider = new ServiceCollection()
.AddLogging(lb => lb.AddFluentMigratorConsole())
.AddFluentMigratorCore()
.ConfigureRunner(
builder => builder
.AddSQLite()
.WithGlobalConnectionString(connectionString)
.WithMigrationsIn(typeof(AddGTDTables).Assembly))
.BuildServiceProvider();
// Instantiate the runner
var runner = serviceProvider.GetRequiredService<IMigrationRunner>();
// Run the migrations
runner.MigrateUp();
This adds the FluentMigrator services to the service collection and
configures the runner to use SQLite with the given connection string,
announcer and migration assembly.
Now you can instantiate the runner using the built service provider and use
its functions.
Published by fubar-coder over 6 years ago
Published by fubar-coder over 6 years ago
Published by fubar-coder over 6 years ago
tools/net452/x86/Migrate.exe
)This has become necessary to enable a better out-of-the-box experience for the migration tool.
Published by fubar-coder over 6 years ago
Published by fubar-coder over 6 years ago
MySql4ProcessorFactory
used the MySql5Generator
Published by fubar-coder over 6 years ago
FluentMigrator.Console
now contains the migration tool in the tools/
directory (fixes #846)FluentMigrator.Tools
package added as upgrade pathPublished by fubar-coder over 6 years ago
IQuerySchema.DatabaseType
now returns SqlServer2016
, etc... and not SqlServer
any moreIMigrationConventions
was renamed to IMigrationRunnerConventions
IMigrationContext
doesn't contain the IMigrationConventions
any more
IConventionSet
ICanBeConventional
was removed during the overhaul of the expression convention systemNonUnicodeString
for ANSI stringsFluentMigrator.Tools
was split into the following packages
FluentMigrator.Console
: The Migrate.exe
toolFluentMigrator.MSBuild
: The MSBuild Migrate
taskALTER/DROP DEFAULT
value supportNVARCHAR
for AsString
WITH (ONLINE=ON/OFF)
supportForce Quote=true
to enforce quotesSetExistingRowsTo
supports SystemMethods
StopOnError
flagFluentMigrator.Runner
to FluentMigrator.Runner.<Database>
FluentMigrator.Extensions.SqlServer
(not applied)
for unapplied migrations(BREAKING)
for migrations with breaking changesIAnnouncer.Write
TagAttribute
by inheritanceSqlBatchParser
to parse batches of SQL statements (GO
statement support)Published by fubar-coder over 8 years ago
Commits: cac48b707d...f17dca3ba0
Published by tommarien almost 9 years ago
Commits: 40a435a60f...cac48b707d
Published by tommarien over 9 years ago
Small breaking change
Fixes
Commits: 78a817d78a...40a435a60f
Published by tommarien over 9 years ago
Features:
Fixes:
Published by tommarien over 9 years ago
Features:
Improvements:
Fixes:
Various:
Published by tommarien almost 10 years ago