mirror of
https://github.com/simonw/sqlite-utils.git
synced 2026-07-23 09:24:31 +02:00
.table_names and .tables properties plus expanded docs
This commit is contained in:
parent
f4907f6df5
commit
515d362ad6
5 changed files with 54 additions and 11 deletions
|
|
@ -20,8 +20,11 @@ class Database:
|
|||
def __getitem__(self, table_name):
|
||||
return Table(self, table_name)
|
||||
|
||||
def __repr__(self):
|
||||
return "<Database {}>".format(self.conn)
|
||||
|
||||
@property
|
||||
def tables(self):
|
||||
def table_names(self):
|
||||
return [
|
||||
r[0]
|
||||
for r in self.conn.execute(
|
||||
|
|
@ -29,6 +32,10 @@ class Database:
|
|||
).fetchall()
|
||||
]
|
||||
|
||||
@property
|
||||
def tables(self):
|
||||
return [self[name] for name in self.table_names]
|
||||
|
||||
def create_table(self, name, columns, pk=None, foreign_keys=None):
|
||||
foreign_keys = foreign_keys or []
|
||||
foreign_keys_by_name = {fk[0]: fk for fk in foreign_keys}
|
||||
|
|
@ -69,7 +76,12 @@ class Table:
|
|||
def __init__(self, db, name):
|
||||
self.db = db
|
||||
self.name = name
|
||||
self.exists = self.name in self.db.tables
|
||||
self.exists = self.name in self.db.table_names
|
||||
|
||||
def __repr__(self):
|
||||
return "<Table {}{}>".format(
|
||||
self.name, " (does not exist yet)" if not self.exists else ""
|
||||
)
|
||||
|
||||
@property
|
||||
def count(self):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue