示例#1
0
        private static MigrationSettings GetSettings(string[] args, string baseDir)
        {
            var configurations = new ConfigurationBuilder()
                                 .SetBasePath(baseDir)
                                 .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                                 .AddEnvironmentVariables()
                                 .AddCommandLine(args)
                                 .Build();

            var settings = new MigrationSettings();

            settings.ConnectionString = configurations.GetValue <string>("ConnectionString");
            return(settings);
        }
示例#2
0
        private static IMigrationRunner CreateRunner(string connectionString, MigrationSettings options)
        {
            var container = new ServiceCollection()
                            .AddFluentMigratorCore()
                            .ConfigureRunner(_ => _
                                             .AddSqlServer()
                                             .WithGlobalConnectionString(connectionString)
                                             .ScanIn(typeof(Runner).Assembly).For.All())
                            .AddSingleton <MigrationSettings>(options)
                            .AddSingleton <ScriptResourceManager>()
                            .AddLogging(_ => _.AddFluentMigratorConsole())
                            .BuildServiceProvider();

            return(container.GetRequiredService <IMigrationRunner>());
        }