Documentation and tests for table.drop() method

This commit is contained in:
Simon Willison 2019-07-28 14:22:12 +03:00
commit 535a5ea476
3 changed files with 19 additions and 1 deletions

View file

@ -567,6 +567,17 @@ If you want to ensure that every foreign key column in your database has a corre
db.index_foreign_keys()
.. _python_api_drop:
Dropping a table
================
You can drop a table by using the ``.drop()`` method:
.. code-block:: python
db["my_table"].drop()
.. _python_api_hash:
Setting an ID based on the hash of the row contents

View file

@ -621,7 +621,7 @@ class Table:
return self
def drop(self):
return self.db.conn.execute("DROP TABLE {}".format(self.name))
self.db.conn.execute("DROP TABLE {}".format(self.name))
def guess_foreign_table(self, column):
column = column.lower()

View file

@ -775,3 +775,10 @@ def test_cannot_provide_both_filename_and_memory():
def test_creates_id_column(fresh_db):
last_pk = fresh_db.table("cats", pk="id").insert({"name": "barry"}).last_pk
assert [{"name": "barry", "id": last_pk}] == list(fresh_db["cats"].rows)
def test_drop(fresh_db):
fresh_db["t"].insert({"foo": 1})
assert ["t"] == fresh_db.table_names()
assert None is fresh_db["t"].drop()
assert [] == fresh_db.table_names()