From 3c6338cadc2126f20ad8a00c69b849950186bc24 Mon Sep 17 00:00:00 2001 From: Jamie Rees Date: Fri, 18 Mar 2016 21:59:34 +0000 Subject: [PATCH] Catch the missing table exception when they have a new DB --- PlexRequests.Core/Setup.cs | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/PlexRequests.Core/Setup.cs b/PlexRequests.Core/Setup.cs index 4681dd3b4..ddb7a5a03 100644 --- a/PlexRequests.Core/Setup.cs +++ b/PlexRequests.Core/Setup.cs @@ -24,6 +24,8 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // ************************************************************************/ #endregion + +using System; using System.Collections.Generic; using System.Linq; @@ -70,18 +72,29 @@ namespace PlexRequests.Core private void MigrateDb() // TODO: Remove when no longer needed { + var result = new List(); + RequestedModel[] requestedModels; var repo = new GenericRepository(Db); - var records = repo.GetAll(); - var requestedModels = records as RequestedModel[] ?? records.ToArray(); - if(!requestedModels.Any()) - { return; } + try + { + var records = repo.GetAll(); - var jsonRepo = new JsonRequestService(new RequestJsonRepository(Db, new MemoryCacheProvider())); - var result = new List(); - foreach (var r in requestedModels) + requestedModels = records as RequestedModel[] ?? records.ToArray(); + if (!requestedModels.Any()) + { return; } + + var jsonRepo = new JsonRequestService(new RequestJsonRepository(Db, new MemoryCacheProvider())); + + foreach (var r in requestedModels) + { + var id = jsonRepo.AddRequest(r); + result.Add(id); + } + } + catch (SqliteException) { - var id = jsonRepo.AddRequest(r); - result.Add(id); + // There is no requested table so they do not have an old version of the DB + return; } if (result.Any(x => x == -1))