public void FkCheckNoCheckTest() { var version = MsSqlVersion.MsSql2016; var dd = new TestDatabaseFk(); dd.SetVersions(version.GetTypeMapper()); Init(version, dd); var ddlReader = DataDefinitionReaderFactory.CreateDataDefinitionReader( SqlExecuterTestAdapter.ConnectionStrings[version.UniqueName] , SqlExecuterTestAdapter.GetContext(version), dd.GetSchemaNames().ToList()); var ddInDatabase = ddlReader.GetDatabaseDefinition(); var fk = dd.GetTable("Foreign").Properties.OfType <ForeignKey>().First(); Assert.AreEqual("true", fk.SqlEngineVersionSpecificProperties[version, "Nocheck"]); fk.SqlEngineVersionSpecificProperties[version, "Nocheck"] = "false"; var comparer = new Comparer(SqlExecuterTestAdapter.GetContext(version)); var changes = comparer.Compare(ddInDatabase, dd); _ = changes[0] as ForeignKeyChange; _ = new DatabaseMigrator(SqlExecuterTestAdapter.GetExecuter(version.UniqueName), SqlGeneratorFactory.CreateMigrationGenerator(version, SqlExecuterTestAdapter.GetContext(version))); // TODO change FK // databaseMigrator. }
public void SpSimple(SqlEngineVersion version) { var db = new DbWithSp(); Init(version, db); SqlExecuterTestAdapter.GetExecuter(version.UniqueName).ExecuteQuery("GetCompanies"); }
public void SpSimpleQuryBuilder(SqlEngineVersion version) { var db = new DbWithSpQueryBuilder(); Init(version, db); var sqlStatementWithParameters = new SqlStatementWithParameters("EXEC GetCompaniesWithParameter @Id=@Id"); sqlStatementWithParameters.Parameters.Add("@Id", 1); SqlExecuterTestAdapter.GetExecuter(version.UniqueName).ExecuteQuery(sqlStatementWithParameters); }
private static DatabaseMigrator ProcessAndGetMigrator(SqlEngineVersion version, DatabaseDefinitions dds, out List <IMigration> changes) { Init(version, dds.Original); var ddlReader = DataDefinitionReaderFactory.CreateDataDefinitionReader(SqlExecuterTestAdapter.ConnectionStrings[version.UniqueName], SqlExecuterTestAdapter.GetContext(version), dds.Original.GetSchemaNames().ToList()); var ddInDatabase = ddlReader.GetDatabaseDefinition(); var comparer = new Comparer(SqlExecuterTestAdapter.GetContext(version)); changes = comparer.Compare(ddInDatabase, dds.New); var databaseMigrator = new DatabaseMigrator(SqlExecuterTestAdapter.GetExecuter(version.UniqueName), SqlGeneratorFactory.CreateMigrationGenerator(version, SqlExecuterTestAdapter.GetContext(version))); return(databaseMigrator); }
public override void Pk_Add(SqlEngineVersion version) { var dds = Pk_Add_Dds(version); var databaseMigrator = ProcessAndGetMigrator(version, dds, out var changes); var primaryKeyNew = changes[0] as PrimaryKeyNew; databaseMigrator.NewPrimaryKey(primaryKeyNew); var ddlReader = DataDefinitionReaderFactory.CreateDataDefinitionReader(SqlExecuterTestAdapter.ConnectionStrings[version.UniqueName], SqlExecuterTestAdapter.GetContext(version), dds.Original.GetSchemaNames().ToList()); var ddInDatabase = ddlReader.GetDatabaseDefinition(); var newPk = ddInDatabase.GetTable("Company").Properties.OfType <PrimaryKey>().First(); Assert.AreEqual(1, newPk.SqlColumns.Count); Assert.AreEqual("Id", newPk.SqlColumns[0].SqlColumn.Name); Assert.AreEqual("PK_Company", newPk.Name, true, CultureInfo.InvariantCulture); }