public void FkCheckNoCheckTest() { var version = MsSqlVersion.MsSql2016; var ddOriginal = new TestDatabaseFk(); ddOriginal.SetVersions(version.GetTypeMapper()); var ddFkChanged = new TestDatabaseFk(); ddFkChanged.SetVersions(version.GetTypeMapper()); var fk = ddFkChanged.GetTable("Foreign").Properties.OfType <ForeignKey>().First(); fk.SqlEngineVersionSpecificProperties[version, "Nocheck"] = "false"; var changeDocumenter = new ChangeDocumenter(DataDefinitionDocumenterTestsHelper.CreateTestChangeContext(version), version, "TestDatabaseFk", "TestDatabaseFk_FkCheckNoCheckTest"); changeDocumenter.Document(ddOriginal, ddFkChanged); }
private static void Document(SqlEngineVersion version, DatabaseDefinitions dds) { var changeDocumenter = new ChangeDocumenter(DataDefinitionDocumenterTestsHelper.CreateTestChangeContext(version), version, dds.DbNameOriginal, dds.DbNameNew); changeDocumenter.Document(dds.Original, dds.New); }
public void ChangeDocument( [Option(LongName = "connectionStringOriginal")] string connectionStringOriginal, [Option(LongName = "connectionStringNew")] string connectionStringNew, [Option(LongName = "sqlTypeOriginal")] string sqlTypeOriginal, [Option(LongName = "sqlTypeNew")] string sqlTypeNew, [Option(LongName = "patternFileName", ShortName = "p")] string patternFileName, [Option(LongName = "patternFileNameOriginal")] string patternFileNameOriginal, [Option(LongName = "patternFileNameNew")] string patternFileNameNew, [Option(LongName = "flags", ShortName = "f")] List <string> flags) { var versionOriginal = SqlEngineVersions.GetVersion(sqlTypeOriginal); var contextOriginal = CreateContext(versionOriginal); var connString = new NamedConnectionString( versionOriginal.GetType().Name, versionOriginal.ProviderName, connectionStringOriginal, versionOriginal.VersionString); var sqlExecuterOriginal = SqlExecuterFactory.CreateSqlExecuter(connString, contextOriginal); var databaseNameOriginal = sqlExecuterOriginal.GetDatabase(); var ddlReaderOriginal = DataDefinitionReaderFactory.CreateDataDefinitionReader(connString, contextOriginal, null); //var ddOriginal = ddlReaderOriginal.GetDatabaseDefinition(); var ddOriginalTask = Task.Run(() => ddlReaderOriginal.GetDatabaseDefinition()); if (patternFileNameOriginal == null) { patternFileNameOriginal = patternFileName; } if (patternFileNameNew == null) { patternFileNameNew = patternFileName; } var changeDocumenterContext = CreateChangeDocumenterContext(contextOriginal, patternFileNameOriginal, patternFileNameNew); if (flags != null) { SetSettingsFromFlags(flags, changeDocumenterContext.DocumenterSettings); } var versionNew = SqlEngineVersions.GetVersion(sqlTypeNew); var contextNew = CreateContext(versionNew); var connStringNew = new NamedConnectionString( versionNew.GetType().Name, versionNew.ProviderName, connectionStringNew, versionNew.VersionString); var sqlExecuterNew = SqlExecuterFactory.CreateSqlExecuter(connStringNew, contextNew); var databaseNameNew = sqlExecuterNew.GetDatabase(); var ddlReaderNew = DataDefinitionReaderFactory.CreateDataDefinitionReader(connStringNew, contextNew, null); //var ddNew = ddlReaderNew.GetDatabaseDefinition(); var ddNewTask = Task.Run(() => ddlReaderNew.GetDatabaseDefinition()); var changeDocumenter = new ChangeDocumenter(changeDocumenterContext, versionOriginal, databaseNameOriginal, databaseNameNew); var ddOriginal = ddOriginalTask.Result; var ddNew = ddNewTask.Result; changeDocumenter.Document(ddOriginal, ddNew); }