public bool StartCreation(DbSample sample) { var creationScript = new CreationScript(TestsConfiguration.MakeSQLScriptPath(sample.SqlFile), sample.TypedVersion); var createModel = new MySqlDbCreateModel(this, creationScript); return(createModel.RunCreation(server.AddressAndPort, sample.DbName, server.Login, server.Password)); }
public void ApplyUpdatesTest(SqlServer server, DbSample sample) { var updateConfiguration = ScriptsConfiguration.MakeUpdateConfiguration(); //Проверяем нужно ли обновлять if (!updateConfiguration.GetHopsToLast(sample.TypedVersion).Any()) { Assert.Ignore($"Образец базы {sample} версии пропущен. Так как версию базы {sample.Version} невозможно обновить."); } //Создаем чистую базу StartSqlServer(server); var creator = new TestingCreateDbController(server); var success = creator.StartCreation(sample); Assert.That(success, Is.True); //Выполняем обновление var builder = server.ConnectionStringBuilder; builder.Database = sample.DbName; var connectionstring = builder.GetConnectionString(true); using (var connection = new MySqlConnection(connectionstring)) { connection.Open(); foreach (var hop in updateConfiguration.GetHopsToLast(sample.TypedVersion)) { TestContext.Progress.WriteLine($"Выполняем скрипт {hop.Source.VersionToShortString()} → {hop.Destination.VersionToShortString()}"); RunOneUpdate(connection, hop); } //Версии баз до 2.5 отличаются не принципиально, например порядком индексов, //Это не имеет смысл специально исправлять. Поэтому проверка этих версия пропущена. if (sample.TypedVersion >= new Version(2, 5)) { ComparisonSchema(connection, currentDdName, sample.DbName); } } }
public static DataTable GetSale() { DbSample data = new DbSample(); return(data.GetSaleTable()); }
public static DataTable GetPeople(Person[] people) { DbSample data = new DbSample(); return(data.GetPeopleTable(people)); }