private static SimpleMigrator CreateMigrator(DbConnection connection, Settings settings) { var migrationAssembly = GetMigrationAssembly(settings.MigrationAssemblyPath); var provider = new MssqlDatabaseProvider(connection) { SchemaName = settings.VersionTableSchema }; var migrator = new SimpleMigrator(migrationAssembly, provider); migrator.Load(); return(migrator); }
public async Task MigrateToLatestVersionAsync() { using (var connection = new SqlConnection(_sqlConnectionString)) { await connection.OpenAsync(); var migrationsAssembly = typeof(DatabaseManager).Assembly; var databaseProvider = new MssqlDatabaseProvider(connection); var migrator = new SimpleMigrator(migrationsAssembly, databaseProvider); migrator.Load(); migrator.MigrateToLatest(); } }
private void DatabaseMigration() { var migrationsAssembly = typeof(CreateJobsTable001).Assembly; using (var connection = new SqlConnection(Configuration.GetConnectionString("Default"))) { var databaseProvider = new MssqlDatabaseProvider(connection); var migrator = new SimpleMigrator(migrationsAssembly, databaseProvider); migrator.Load(); migrator.MigrateToLatest(); } }
public IActionResult Migrate() { var migrationsAssembly = typeof(Migrations.Program).Assembly; using (var db = new SqlConnection(_configuration.GetValue <string>("CONNECTION_STRING"))) { var databaseProvider = new MssqlDatabaseProvider(db); var migrator = new SimpleMigrator(migrationsAssembly, databaseProvider); migrator.Load(); migrator.MigrateToLatest(); } return(NoContent()); }
static void Main(string[] args) { var connectionString = Environment.GetEnvironmentVariable("CONNECTION_STRING"); var migrationsAssembly = typeof(Program).Assembly; using (var db = new SqlConnection(connectionString)) { var databaseProvider = new MssqlDatabaseProvider(db); var migrator = new SimpleMigrator(migrationsAssembly, databaseProvider); var consoleRunner = new ConsoleRunner(migrator); consoleRunner.Run(args); } }
public void ApplyMigrations() { var config = LoadConfiguration(); var connString = config.GetConnectionString("Kiukie"); LoadServices(connString); using (var connection = new SqlConnection(connString)) { var databaseProvider = new MssqlDatabaseProvider(connection); var migrator = new SimpleMigrator(typeof(TestFixtureContext).Assembly, databaseProvider); migrator.Load(); migrator.MigrateToLatest(); } }
static void Main(string[] args) { var migrationsAssembly = typeof(Program).Assembly; var connectionString = new SqlConnectionStringBuilder { DataSource = ".", InitialCatalog = "SMP", IntegratedSecurity = true }.ConnectionString; using var connection = new SqlConnection(connectionString); var databaseProvider = new MssqlDatabaseProvider(connection); var migrator = new SimpleMigrator(migrationsAssembly, databaseProvider); migrator.Load(); migrator.MigrateToLatest(); }
/// <summary> /// Run migrator /// </summary> /// <param name="args"> /// up: Migrate to the latest version (default) /// to <n>: Migrate up/down to the version n (0 for reset) /// reapply: Re-apply the current migration /// list: List all available migrations /// baseline <n>: Move the database to version n, without apply migrations /// </param> static void Main(string[] args) { var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json") .Build(); string connectionString = builder.GetConnectionString("DefaultConnection"); var migrationsAssembly = typeof(Program).Assembly; using (var db = new SqlConnection(connectionString)) { var databaseProvider = new MssqlDatabaseProvider(db); var migrator = new SimpleMigrator(migrationsAssembly, databaseProvider); migrator.Load(); var consoleRunner = new ConsoleRunner(migrator); consoleRunner.Run(args); } }
public async Task <ISimpleMigrator> CreateAsync(MigrationOptions options) { var projectInfo = await _projectInfoDiscoverer.DiscoverAsync( !options.NoBuild, options.Configuration, options.Framework, options.Project, options.Assembly, options.ConnectionString, options.ConnectionStringName); using (var loader = new DependencyAwareAssemblyLoader(projectInfo.ProjectAssembly)) { var migrationProvider = new AssemblyMigrationProvider(projectInfo.ProjectAssembly); var connection = new SqlConnection(projectInfo.ConnectionString); var dbProvider = new MssqlDatabaseProvider(connection) { SchemaName = "dbo" }; var migrator = new SimpleMigrator(migrationProvider, dbProvider, _migrationLogger); migrator.Load(); return(migrator); } }
public static void Main(string[] args) { var connectionString = @"Data Source=LT-17-623\SQL17;Initial Catalog=ASPNetCoreTest;Persist security info=True;Integrated Security=SSPI"; var migrateCommandText = "migrate"; var rollBackCommandText = "rollback"; var versionCommand = "-v"; Console.WriteLine("MigratonRunner commands"); Console.WriteLine(); Console.WriteLine("migrate"); Console.WriteLine("migrate -v <VERSION>"); Console.WriteLine("rollback"); Console.WriteLine("rollback -v <VERSION>"); Console.WriteLine(); Console.WriteLine("ENTER COMMAND"); Console.WriteLine(); using (var connection = new SqlConnection(connectionString)) { var databaseProvider = new MssqlDatabaseProvider(connection); var migrator = new SimpleMigrator(Assembly.Load(new AssemblyName("Migrations.Sql")), databaseProvider); migrator.Load(); var newMigrations = migrator.Migrations.Where(x => x.Version > migrator.CurrentMigration.Version); if (newMigrations.Any()) { Console.WriteLine("There are new migrations"); Console.ForegroundColor = ConsoleColor.Green; foreach (var migration in newMigrations.OrderBy(x => x.Version)) { Console.WriteLine(migration.Version.ToString() + "-" + migration.Description); } Console.ResetColor(); } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("There are no new migrations"); Console.ResetColor(); } } var commandText = Console.ReadLine(); if (commandText.ToLower().Contains(migrateCommandText)) { if (commandText.ToLower().Contains(versionCommand)) { string version = commandText.Substring(commandText.IndexOf(versionCommand) + versionCommand.Length + 1); long versionLong; var castedToLong = long.TryParse(version, out versionLong); if (castedToLong) { using (var connection = new SqlConnection(connectionString)) { var databaseProvider = new MssqlDatabaseProvider(connection); var migrator = new SimpleMigrator(Assembly.Load(new AssemblyName("Migrations.Sql")), databaseProvider); migrator.Load(); migrator.MigrateTo(versionLong); } Console.WriteLine("migrate database to the version " + version + " !"); Console.ReadKey(); } } else { using (var connection = new SqlConnection(connectionString)) { var databaseProvider = new MssqlDatabaseProvider(connection); var migrator = new SimpleMigrator(Assembly.Load(new AssemblyName("Migrations.Sql")), databaseProvider); migrator.Load(); migrator.MigrateToLatest(); } Console.WriteLine("migrate database to latest version"); Console.ReadKey(); } } else if (commandText.ToLower().Contains(rollBackCommandText)) { if (commandText.ToLower().Contains(versionCommand)) { string version = commandText.Substring(commandText.IndexOf(versionCommand) + versionCommand.Length + 1); long versionLong; var castedToLong = long.TryParse(version, out versionLong); if (castedToLong) { using (var connection = new SqlConnection(connectionString)) { var databaseProvider = new MssqlDatabaseProvider(connection); var migrator = new SimpleMigrator(Assembly.Load(new AssemblyName("Migrations.Sql")), databaseProvider); migrator.Load(); migrator.MigrateTo(versionLong); } Console.WriteLine("rollback database to the version " + version + " !"); Console.ReadKey(); } } else { Console.WriteLine("Are you sure? y/n"); var rollbackResp = Console.ReadLine(); if (rollbackResp.Contains("y")) { using (var connection = new SqlConnection(connectionString)) { var databaseProvider = new MssqlDatabaseProvider(connection); var migrator = new SimpleMigrator(Assembly.Load(new AssemblyName("Migrations.Sql")), databaseProvider); migrator.Load(); migrator.MigrateTo(0); } Console.WriteLine("rollback database!"); Console.ReadKey(); } else { Console.WriteLine("rollback canceled!"); Console.ReadKey(); } } } else { Console.WriteLine("Command not found, please write migrate or rollback"); Console.ReadKey(); } }