aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Data/BaseSqliteRepository.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-11-19 00:52:49 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-11-19 00:52:49 -0500
commit65a1ef020b205b1676bd7dd70e7261a1fa29b7a2 (patch)
treeb9130379ceead0c3ca1495a7b41ff97baab14040 /Emby.Server.Implementations/Data/BaseSqliteRepository.cs
parente58e34ceca52914bd2475c76ede5f7ee91964d00 (diff)
move sync repository to portable project
Diffstat (limited to 'Emby.Server.Implementations/Data/BaseSqliteRepository.cs')
-rw-r--r--Emby.Server.Implementations/Data/BaseSqliteRepository.cs20
1 files changed, 15 insertions, 5 deletions
diff --git a/Emby.Server.Implementations/Data/BaseSqliteRepository.cs b/Emby.Server.Implementations/Data/BaseSqliteRepository.cs
index 8febe83b2..c47a534d1 100644
--- a/Emby.Server.Implementations/Data/BaseSqliteRepository.cs
+++ b/Emby.Server.Implementations/Data/BaseSqliteRepository.cs
@@ -4,6 +4,7 @@ using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Model.Logging;
using SQLitePCL.pretty;
+using System.Linq;
namespace Emby.Server.Implementations.Data
{
@@ -120,21 +121,30 @@ namespace Emby.Server.Implementations.Data
}
- protected void AddColumn(IDatabaseConnection connection, string table, string columnName, string type)
+ protected List<string> GetColumnNames(IDatabaseConnection connection, string table)
{
+ var list = new List<string>();
+
foreach (var row in connection.Query("PRAGMA table_info(" + table + ")"))
{
if (row[1].SQLiteType != SQLiteType.Null)
{
var name = row[1].ToString();
- if (string.Equals(name, columnName, StringComparison.OrdinalIgnoreCase))
- {
- return;
- }
+ list.Add(name);
}
}
+ return list;
+ }
+
+ protected void AddColumn(IDatabaseConnection connection, string table, string columnName, string type, List<string> existingColumnNames)
+ {
+ if (existingColumnNames.Contains(columnName, StringComparer.OrdinalIgnoreCase))
+ {
+ return;
+ }
+
connection.ExecuteAll(string.Join(";", new string[]
{
"alter table " + table,