From 01e084d2547919a63a261b219986d1d06a1af83d Mon Sep 17 00:00:00 2001 From: Darrell Mozingo Date: Thu, 11 Oct 2012 11:15:45 +0100 Subject: [PATCH] Added a 'needsapp_' reserved prefix, and changed to use a list of reserved prefixes instead of two consts --- .../DatabaseComparisonTests.cs | 3 +-- src/DatabaseMigraine/DbScriptFolderManager.cs | 19 ++++++++----------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/DatabaseMigraine.Tests/DatabaseComparisonTests.cs b/src/DatabaseMigraine.Tests/DatabaseComparisonTests.cs index 2135df0..e218848 100644 --- a/src/DatabaseMigraine.Tests/DatabaseComparisonTests.cs +++ b/src/DatabaseMigraine.Tests/DatabaseComparisonTests.cs @@ -260,8 +260,7 @@ private IEnumerable GetListOfAdditionalDbsInRefEnv(Server referenceSer private bool GenericDiscard(T dbElement) where T : IScriptableDatabaseElementWithName { - return dbElement.Name.ToLower().StartsWith(DbScriptFolderManager.TempPrefix) || - dbElement.Name.ToLower().StartsWith(DbScriptFolderManager.DbaPrefix) || + return DbScriptFolderManager.ReservedPrefixes.Any(reservedPrefix => dbElement.Name.ToLower().StartsWith(reservedPrefix)) || Discard(dbElement); } diff --git a/src/DatabaseMigraine/DbScriptFolderManager.cs b/src/DatabaseMigraine/DbScriptFolderManager.cs index 98151f2..0c6b2cf 100644 --- a/src/DatabaseMigraine/DbScriptFolderManager.cs +++ b/src/DatabaseMigraine/DbScriptFolderManager.cs @@ -154,9 +154,7 @@ protected virtual void CheckContentViolationRules(Dictionary ele CheckNameNotMatchingElementViolation(elementNameToScriptContents); } - public const string TempPrefix = "tmp"; - - public const string DbaPrefix = "dba_"; + public static readonly IEnumerable ReservedPrefixes = new[] { "tmp", "dba_", "needsapp_" }; private static string CheckScriptNameConventions(FileInfo script) { @@ -173,14 +171,13 @@ private static string CheckScriptNameConventions(FileInfo script) "No script should start with the '{0}' prefix, please use DatabaseScripter to transform into Migrator structure: {1}", dboPrefix, elementName)); } - if (elementName.ToLower().StartsWith(TempPrefix)) { - throw new ArgumentException(String.Format( - "Elements with the prefix '{0}' are reserved for DBA use, not development: {1}", TempPrefix, elementName)); - } - - if (elementName.ToLower().StartsWith(DbaPrefix)) { - throw new ArgumentException(String.Format( - "Elements with the prefix '{0}' are reserved for DBA use, not development: {1}", DbaPrefix, elementName)); + foreach (var reservedPrefix in ReservedPrefixes) + { + if (elementName.ToLower().StartsWith(reservedPrefix)) + { + throw new ArgumentException(String.Format( + "Elements with the prefix '{0}' are reserved for DBA use, not development: {1}", reservedPrefix, elementName)); + } } return elementName;