diff --git a/dataset/persistence/database.py b/dataset/persistence/database.py index 6e68728..3fe09f5 100644 --- a/dataset/persistence/database.py +++ b/dataset/persistence/database.py @@ -134,7 +134,7 @@ class Database(object): """ Get a listing of all tables that exist in the database. """ - return self._tables.keys() + return list(self._tables.keys()) def __contains__(self, member): return member in self.tables diff --git a/dataset/persistence/table.py b/dataset/persistence/table.py index d352aac..56e0363 100644 --- a/dataset/persistence/table.py +++ b/dataset/persistence/table.py @@ -253,6 +253,8 @@ class Table(object): table.drop_column('created_at') """ + if self.database.engine.dialect.name == 'sqlite': + raise NotImplementedError("SQLite does not support dropping columns.") self._check_dropped() self.database._acquire() try: diff --git a/test/test_persistence.py b/test/test_persistence.py index ca76638..b864d24 100644 --- a/test/test_persistence.py +++ b/test/test_persistence.py @@ -315,8 +315,11 @@ class TableTestCase(unittest.TestCase): assert 'date' in cols and 'temperature' in cols and 'place' in cols def test_drop_column(self): - self.tbl.drop_column('date') - assert 'date' not in self.tbl.columns + try: + self.tbl.drop_column('date') + assert 'date' not in self.tbl.columns + except NotImplementedError: + pass def test_iter(self): c = 0