diff --git a/src/NzbDrone.Core.Test/Datastore/SQLiteMigrationHelperTests/AlterFixture.cs b/src/NzbDrone.Core.Test/Datastore/SQLiteMigrationHelperTests/AlterFixture.cs index d93d0f262..17b45da97 100644 --- a/src/NzbDrone.Core.Test/Datastore/SQLiteMigrationHelperTests/AlterFixture.cs +++ b/src/NzbDrone.Core.Test/Datastore/SQLiteMigrationHelperTests/AlterFixture.cs @@ -105,7 +105,6 @@ namespace NzbDrone.Core.Test.Datastore.SQLiteMigrationHelperTests newIndexes.Select(c=>c.Column).Should().BeEquivalentTo(indexes.Select(c=>c.Column)); } - [Test] public void should_be_able_to_create_table_with_new_indexes() { diff --git a/src/NzbDrone.Core/Datastore/Migration/Framework/SQLiteMigrationHelper.cs b/src/NzbDrone.Core/Datastore/Migration/Framework/SQLiteMigrationHelper.cs index 42f8f8e7b..3bb08dace 100644 --- a/src/NzbDrone.Core/Datastore/Migration/Framework/SQLiteMigrationHelper.cs +++ b/src/NzbDrone.Core/Datastore/Migration/Framework/SQLiteMigrationHelper.cs @@ -29,7 +29,7 @@ namespace NzbDrone.Core.Datastore.Migration.Framework private static readonly Regex SchemaRegex = new Regex(@"['\""\[](?\w+)['\""\]]\s(?[\w-\s]+)", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Multiline); - private static readonly Regex IndexRegex = new Regex(@"\(""(?.*)""\s(?ASC|DESC)\)$", + private static readonly Regex IndexRegex = new Regex(@"\((?:""|')(?.*)(?:""|')\s(?ASC|DESC)\)$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Multiline); public SqLiteMigrationHelper(IConnectionStringFactory connectionStringFactory, Logger logger) @@ -96,8 +96,6 @@ namespace NzbDrone.Core.Datastore.Migration.Framework var reader = command.ExecuteReader(); var sqls = ReadArray(reader).ToList(); - - var indexes = new List(); foreach (var indexSql in sqls) @@ -105,6 +103,8 @@ namespace NzbDrone.Core.Datastore.Migration.Framework var newIndex = new SQLiteIndex(); var matches = IndexRegex.Match(indexSql); + if (!matches.Success) continue;; + newIndex.Column = matches.Groups["col"].Value; newIndex.Unique = indexSql.Contains("UNIQUE"); newIndex.Table = tableName;