private static void Main(string[] args) { var builder = new ConfigurationBuilder() .AddCommandLine(args); var arguments = builder.Build().Get <MoveArgs>(); var from = new AgDatabase(arguments.From); var to = new AgDatabase(arguments.To); // TODO: This should be baked into the restore class. We have a property for it. if (arguments.Overwrite) { to.Delete(); } Console.WriteLine("Beginning restore..."); var restore = new Restore(from, to) { CopyLogins = arguments.CopyLogins, FileRelocator = fileName => RestoreFileRelocator(from.Name, to.Name, fileName), Finalize = arguments.Finalize, Overwrite = arguments.Overwrite }; from.LogBackup(); restore.AgDbRestore(); Console.WriteLine("Restore completed."); Console.WriteLine("Deleting source."); from.Delete(); Console.WriteLine("Source deleted"); }
public TestRestoreFixture() { var builder = new ConfigurationBuilder().AddJsonFile("config.json", false); _config = builder.Build().GetSection("TestRestore").Get <TestRestoreConfig>(); _source = new AgDatabase(_config.From); _test = new AgDatabase(_config.To); _test.Delete(); // We only snapshot the primary instance's logins. It works for our integration environment, but we could do better and snapshot each instance's. _preTestLogins = _test._listener.Primary.Logins.Select(l => l.Properties()).ToList(); }