public OqtaneHistoryRepository(HistoryRepositoryDependencies dependencies) : base(dependencies) { _migrationHistoryTable = new MigrationHistoryTable { TableName = TableName, TableSchema = TableSchema, MigrationIdColumnName = MigrationIdColumnName, ProductVersionColumnName = ProductVersionColumnName, AppliedVersionColumnName = _appliedVersionColumnName, AppliedDateColumnName = _appliedDateColumnName }; }
public static string BuildInsertScript(HistoryRow row, HistoryRepositoryDependencies dependencies, MigrationHistoryTable historyTable) { var sqlGenerationHelper = dependencies.SqlGenerationHelper; var stringTypeMapping = dependencies.TypeMappingSource.GetMapping(typeof(string)); return(new StringBuilder().Append("INSERT INTO ") .Append(sqlGenerationHelper.DelimitIdentifier(historyTable.TableName, historyTable.TableSchema)) .Append(" (") .Append(sqlGenerationHelper.DelimitIdentifier(historyTable.MigrationIdColumnName)) .Append(", ") .Append(sqlGenerationHelper.DelimitIdentifier(historyTable.ProductVersionColumnName)) .Append(", ") .Append(sqlGenerationHelper.DelimitIdentifier(historyTable.AppliedVersionColumnName)) .Append(", ") .Append(sqlGenerationHelper.DelimitIdentifier(historyTable.AppliedDateColumnName)) .AppendLine(")") .Append("VALUES (") .Append(stringTypeMapping.GenerateSqlLiteral(row.MigrationId)) .Append(", ") .Append(stringTypeMapping.GenerateSqlLiteral(row.ProductVersion)) .Append(", ") .Append(stringTypeMapping.GenerateSqlLiteral(Constants.Version)) .Append(", ") .Append(stringTypeMapping.GenerateSqlLiteral(DateTime.Now.ToString("yyyy'-'MM'-'dd' 'HH':'mm':'ss'.'fffffffK"))) .Append(")") .AppendLine(sqlGenerationHelper.StatementTerminator) .ToString()); }