private static string SanitizeMigrationName(string migrationName)
{
const char invalidCharReplacement = '-';
// replace the invalid characters
var invalidChars = Path.GetInvalidFileNameChars();
foreach (var c in invalidChars)
{
migrationName = migrationName.Replace(c, invalidCharReplacement);
}
// trim whitespace
migrationName = migrationName.Trim();
// replace whitespace with an underscore
const string whitespaceReplacement = "_";
migrationName = Regex.Replace(migrationName, @"\s+", whitespaceReplacement, RegexOptions.Compiled);
return migrationName;
}