/// <summary> /// Sets the global strip comment /// </summary> /// <param name="builder">The runner builder</param> /// <param name="stripComments">The global strip comments</param> /// <returns>The runner builder</returns> public static IMigrationRunnerBuilder WithGlobalStripComments( this IMigrationRunnerBuilder builder, bool stripComments) { builder.Services.Configure <ProcessorOptions>(opt => opt.StripComments = stripComments); return(builder); }
protected override void ConfigureMigrator(IMigrationRunnerBuilder runnerBuilder) { var sqliteConnectionString = Configuration.GetConnectionString("SQLite"); runnerBuilder.AddSQLite() .WithGlobalConnectionString(sqliteConnectionString); }
/// <summary> /// Sets configuration action for global processor options /// </summary> /// <param name="builder">The runner builder</param> /// <param name="configureAction">The configuration action</param> /// <returns>The runner builder</returns> public static IMigrationRunnerBuilder ConfigureGlobalProcessorOptions( this IMigrationRunnerBuilder builder, Action <ProcessorOptions> configureAction) { builder.Services.Configure(configureAction); return(builder); }
/// <summary> /// Sets the global command timeout /// </summary> /// <param name="builder">The runner builder</param> /// <param name="commandTimeout">The global command timeout</param> /// <returns>The runner builder</returns> public static IMigrationRunnerBuilder WithGlobalCommandTimeout( this IMigrationRunnerBuilder builder, TimeSpan commandTimeout) { builder.Services.Configure <ProcessorOptions>(opt => opt.Timeout = commandTimeout); return(builder); }
/// <summary> /// Sets the global connection string /// </summary> /// <param name="builder">The runner builder</param> /// <param name="connectionStringOrName">The connection string or name to use</param> /// <returns>The runner builder</returns> public static IMigrationRunnerBuilder WithGlobalConnectionString( this IMigrationRunnerBuilder builder, string connectionStringOrName) { builder.Services.Configure <ProcessorOptions>(opt => opt.ConnectionString = connectionStringOrName); return(builder); }
/// <summary> /// Sets the global preview mode /// </summary> /// <param name="builder">The runner builder</param> /// <param name="preview">The global preview mode</param> /// <returns>The runner builder</returns> public static IMigrationRunnerBuilder AsGlobalPreview( this IMigrationRunnerBuilder builder, bool preview = true) { builder.Services.Configure <ProcessorOptions>(opt => opt.PreviewOnly = preview); return(builder); }
/// <summary> /// Adds the migrations /// </summary> /// <param name="builder">The runner builder</param> /// <param name="assemblies">The target assemblies</param> /// <returns>The runner builder</returns> public static IMigrationRunnerBuilder WithMigrationsIn( this IMigrationRunnerBuilder builder, [NotNull, ItemNotNull] params Assembly[] assemblies) { builder.Services .AddSingleton <IMigrationSourceItem>(new AssemblyMigrationSourceItem(assemblies)); return(builder); }
/// <summary> /// Scans for types in the given assemblies /// </summary> /// <param name="builder">The runner builder</param> /// <param name="assemblies">The assemblies to scan</param> /// <returns>The next step</returns> public static IScanInBuilder ScanIn( this IMigrationRunnerBuilder builder, [NotNull, ItemNotNull] params Assembly[] assemblies) { var sourceItem = new AssemblySourceItem(assemblies); return(new ScanInBuilder(builder, sourceItem)); }
internal static IMigrationRunnerBuilder AddDatabase(this IMigrationRunnerBuilder self, string connectionString) { if (connectionString.EndsWith("temp.db")) { return(self.AddSQLite().WithGlobalConnectionString(connectionString)); } return(self.AddPostgres().WithGlobalConnectionString(connectionString)); }
/// <summary> /// Register dotConnection Oracle processor dependencies /// </summary> /// <param name="builder">The builder to add the Oracle-specific services to</param> private static void RegisterDotConnectOracleProcessor(IMigrationRunnerBuilder builder) { RegisterOracleQuoter(builder); builder.Services .AddScoped <DotConnectOracleDbFactory>() .AddScoped <DotConnectOracleProcessor>() .AddScoped <IMigrationProcessor>(sp => sp.GetRequiredService <DotConnectOracleProcessor>()); }
/// <summary> /// Sets the migration runner conventions /// </summary> /// <param name="builder">The runner builder</param> /// <param name="conventions">The migration runner conventions</param> /// <returns>The runner builder</returns> public static IMigrationRunnerBuilder WithRunnerConventions( this IMigrationRunnerBuilder builder, IMigrationRunnerConventions conventions) { builder.Services .AddSingleton <IMigrationRunnerConventionsAccessor>( new PassThroughMigrationRunnerConventionsAccessor(conventions)); return(builder); }
/// <summary> /// Add the migration quoter conventions /// </summary> /// <param name="builder"></param> /// <param name="configureOptions"></param> /// <returns>The runner builder</returns> public static IMigrationRunnerBuilder WithQuoterConventions( this IMigrationRunnerBuilder builder, Action <QuoterOptions> configureOptions) { builder.Services .Configure(configureOptions); return(builder); }
/// <summary> /// Adds Postgres 10.0 support /// </summary> /// <param name="builder">The builder to add the Postgres-specific services to</param> /// <returns>The migration runner builder</returns> public static IMigrationRunnerBuilder AddPostgres10_0(this IMigrationRunnerBuilder builder) { builder.Services .AddScoped <Postgres10_0Processor>() .AddScoped <IMigrationProcessor>(sp => sp.GetRequiredService <Postgres10_0Processor>()) .AddScoped <Postgres10_0Generator>() .AddScoped <IMigrationGenerator>(sp => sp.GetRequiredService <Postgres10_0Generator>()); return(builder.AddCommonPostgresServices()); }
/// <summary> /// Sets the version table meta data /// </summary> /// <param name="builder">The runner builder</param> /// <param name="versionTableMetaData">The version table meta data</param> /// <returns>The runner builder</returns> public static IMigrationRunnerBuilder WithVersionTable( this IMigrationRunnerBuilder builder, IVersionTableMetaData versionTableMetaData) { builder.Services .AddScoped <IVersionTableMetaDataAccessor>( _ => new PassThroughVersionTableMetaDataAccessor(versionTableMetaData)); return(builder); }
/// <summary> /// Adds .Connect Oracle 12c support /// </summary> /// <param name="builder">The builder to add the .Connect Oracle-specific services to</param> /// <returns>The migration runner builder</returns> public static IMigrationRunnerBuilder AddDotConnectOracle12C(this IMigrationRunnerBuilder builder) { RegisterOracle12CGenerator(builder); RegisterDotConnectOracleProcessor <DotConnectOracle12CProcessor>(builder); builder.Services.AddScoped <IMigrationGenerator>(sp => sp.GetRequiredService <IOracle12CGenerator>()); return(builder); }
/// <summary> /// Adds managed Oracle 12c support /// </summary> /// <param name="builder">The builder to add the managed Oracle-specific services to</param> /// <returns>The migration runner builder</returns> public static IMigrationRunnerBuilder AddOracle12CManaged(this IMigrationRunnerBuilder builder) { RegisterOracle12CGenerator(builder); RegisterOracleManagedProcessor <Oracle12CManagedProcessor>(builder); builder.Services.AddScoped <IMigrationGenerator>(sp => sp.GetRequiredService <IOracle12CGenerator>()); return(builder); }
/// <summary> /// Adds JET engine (Access) support /// </summary> /// <param name="builder">The builder to add the JET engine (Access)-specific services to</param> /// <returns>The migration runner builder</returns> public static IMigrationRunnerBuilder AddJet(this IMigrationRunnerBuilder builder) { builder.Services .AddScoped <JetProcessor>() .AddScoped <IMigrationProcessor>(sp => sp.GetRequiredService <JetProcessor>()) .AddScoped <JetQuoter>() .AddScoped <JetGenerator>() .AddScoped <IMigrationGenerator>(sp => sp.GetRequiredService <JetGenerator>()); return(builder); }
/// <summary> /// Register Oracle managed processor dependencies /// </summary> /// <param name="builder">The builder to add the Oracle-specific services to</param> private static void RegisterOracleManagedProcessor(IMigrationRunnerBuilder builder) { RegisterOracleQuoter(builder); builder.Services .AddScoped <OracleManagedDbFactory>() .AddScoped <OracleManagedProcessor>() .AddScoped <OracleProcessorBase>(sp => sp.GetRequiredService <OracleManagedProcessor>()) .AddScoped <IMigrationProcessor>(sp => sp.GetRequiredService <OracleManagedProcessor>()); }
public static IMigrationRunnerBuilder UseSqlite( this IMigrationRunnerBuilder builder, IConfiguration configuration) { builder .AddSQLite() .WithGlobalConnectionString(configuration.GetConnectionString("ExampleSqlite")); return(builder); }
/// <summary> /// Adds Redshift support /// </summary> /// <param name="builder">The builder to add the Redshift-specific services to</param> /// <returns>The migration runner builder</returns> public static IMigrationRunnerBuilder AddRedshift(this IMigrationRunnerBuilder builder) { builder.Services .AddScoped <RedshiftDbFactory>() .AddScoped <RedshiftProcessor>() .AddScoped <IMigrationProcessor>(sp => sp.GetRequiredService <RedshiftProcessor>()) .AddScoped <RedshiftQuoter>() .AddScoped <RedshiftGenerator>() .AddScoped <IMigrationGenerator>(sp => sp.GetRequiredService <RedshiftGenerator>()); return(builder); }
/// <summary> /// Adds MySQL 5 support /// </summary> /// <param name="builder">The builder to add the MySQL 5-specific services to</param> /// <returns>The migration runner builder</returns> public static IMigrationRunnerBuilder AddMySql5(this IMigrationRunnerBuilder builder) { builder.Services.TryAddScoped <MySqlDbFactory>(); builder.Services.TryAddScoped <MySqlQuoter>(); builder.Services .AddScoped <MySql5Processor>() .AddScoped <IMigrationProcessor>(sp => sp.GetRequiredService <MySql5Processor>()) .AddScoped <MySql5Generator>() .AddScoped <IMigrationGenerator>(sp => sp.GetRequiredService <MySql5Generator>()); return(builder); }
/// <summary> /// Adds DB2 support (Linux and Windows server) /// </summary> /// <param name="builder">The builder to add the DB2-specific services to</param> /// <returns>The migration runner builder</returns> public static IMigrationRunnerBuilder AddDb2(this IMigrationRunnerBuilder builder) { builder.Services .AddScoped <Db2DbFactory>() .AddScoped <Db2Processor>() .AddScoped <IMigrationProcessor>(sp => sp.GetRequiredService <Db2Processor>()) .AddScoped <Db2Quoter>() .AddScoped <Db2Generator>() .AddScoped <IMigrationGenerator>(sp => sp.GetRequiredService <Db2Generator>()); return(builder); }
/// <summary> /// Adds SQL Server 2005 support /// </summary> /// <param name="builder">The builder to add the SQL Server-specific services to</param> /// <returns>The migration runner builder</returns> public static IMigrationRunnerBuilder AddSqlServer2005(this IMigrationRunnerBuilder builder) { builder.Services.TryAddSingleton <SqlServerBatchParserFactory>(); builder.Services.TryAddScoped <SqlServer2005Quoter>(); builder.Services .AddScoped <SqlServer2005Processor>() .AddScoped <IMigrationProcessor>(sp => sp.GetRequiredService <SqlServer2005Processor>()) .AddScoped <SqlServer2005Generator>() .AddScoped <IMigrationGenerator>(sp => sp.GetRequiredService <SqlServer2005Generator>()); return(builder); }
private ScanInBuilder( IMigrationRunnerBuilder builder, IAssemblySourceItem currentSourceItem, IEmbeddedResourceProvider sourceItem) { _builder = builder; SourceItem = currentSourceItem; _builder.DanglingAssemblySourceItem = null; Services.AddSingleton(sourceItem); }
/// <summary> /// Adds Postgres support /// </summary> /// <param name="builder">The builder to add the Postgres-specific services to</param> /// <returns>The migration runner builder</returns> public static IMigrationRunnerBuilder AddPostgres(this IMigrationRunnerBuilder builder) { builder.Services .AddScoped <PostgresDbFactory>() .AddScoped <PostgresProcessor>() .AddScoped <IMigrationProcessor>(sp => sp.GetRequiredService <PostgresProcessor>()) .AddScoped <PostgresQuoter>() .AddScoped <PostgresGenerator>() .AddScoped <IMigrationGenerator>(sp => sp.GetRequiredService <PostgresGenerator>()); return(builder); }
private ScanInBuilder( IMigrationRunnerBuilder builder, IAssemblySourceItem currentSourceItem, ITypeSourceItem <IConventionSet> sourceItem) { _builder = builder; SourceItem = currentSourceItem; _builder.DanglingAssemblySourceItem = null; Services.AddSingleton(sourceItem); }
private ScanInBuilder( IMigrationRunnerBuilder builder, IAssemblySourceItem currentSourceItem, IVersionTableMetaDataSourceItem sourceItem) { _builder = builder; SourceItem = currentSourceItem; _builder.DanglingAssemblySourceItem = null; Services.AddSingleton(sourceItem); }
/// <summary> /// Adds SQL Server support /// </summary> /// <remarks> /// This always selects the latest supported SQL server version. /// </remarks> /// <param name="builder">The builder to add the SQL Server-specific services to</param> /// <returns>The migration runner builder</returns> public static IMigrationRunnerBuilder AddSybaseAse(this IMigrationRunnerBuilder builder) { builder.Services.TryAddTransient <SybaseAseBatchParser>(); builder.Services.TryAddScoped <SybaseAse2000Quoter>(); builder.Services .AddScoped <SybaseAseProcessor>() .AddScoped <IMigrationProcessor>(sp => sp.GetRequiredService <SybaseAseProcessor>()) .AddScoped <SybaseAse2000Generator>() .AddScoped <IMigrationGenerator>(sp => sp.GetRequiredService <SybaseAse2000Generator>()); return(builder.AddCommonSybaseAseServices()); }
/// <summary> /// Adds SQL Server 2008 support /// </summary> /// <param name="builder">The builder to add the SQL Server-specific services to</param> /// <returns>The migration runner builder</returns> public static IMigrationRunnerBuilder AddSqlServer2008(this IMigrationRunnerBuilder builder) { builder.Services.TryAddTransient <SqlServerBatchParser>(); builder.Services.TryAddScoped <SqlServer2008Quoter>(); builder.Services .AddScoped <SqlServer2008Processor>() .AddScoped <IMigrationProcessor>(sp => sp.GetRequiredService <SqlServer2008Processor>()) .AddScoped <SqlServer2008Generator>() .AddScoped <IMigrationGenerator>(sp => sp.GetRequiredService <SqlServer2008Generator>()); return(builder); }
/// <summary> /// Register Oracle quoter /// </summary> /// <param name="builder">The builder to add the Oracle-specific services to</param> private static void RegisterOracleQuoter(IMigrationRunnerBuilder builder) { builder.Services.TryAddScoped <OracleQuoterBase>( sp => { var opt = sp.GetRequiredService <IOptionsSnapshot <ProcessorOptions> >(); return(opt.Value.IsQuotingForced() ? new OracleQuoterQuotedIdentifier() : new OracleQuoter()); }); }