コード例 #1
0
ファイル: SqliteAlter.cs プロジェクト: scottrice/NzbDrone
        public void DropColumns(string tableName, IEnumerable <string> columns)
        {
            using (var transaction = _sqLiteMigrationHelper.BeginTransaction())
            {
                var originalColumns = _sqLiteMigrationHelper.GetColumns(tableName);
                var originalIndexes = _sqLiteMigrationHelper.GetIndexes(tableName);

                var newColumns = originalColumns.Where(c => !columns.Contains(c.Key)).Select(c => c.Value).ToList();
                var newIndexes = originalIndexes.Where(c => !columns.Contains(c.Column));

                CreateTable(tableName, newColumns, newIndexes);

                transaction.Commit();
            }
        }