protected static void GenerateDatabase(DatabaseDefinition dd, SqlEngineVersion version, Action action = null) { _sqlExecuterTestAdapter.Check(version); _sqlExecuterTestAdapter.Initialize(version.UniqueName, dd); var databaseCreator = new DatabaseCreator(dd, _sqlExecuterTestAdapter.GetExecuter(version.UniqueName)); try { databaseCreator.ReCreateDatabase(true); action?.Invoke(); } finally { databaseCreator.CleanupDatabase(); } }