Skip to content

Commit 23a608a

Browse files
author
platipusica
committed
wip pk & group
1 parent e29ba26 commit 23a608a

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

utils/scaffold_sqlite3.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,17 @@ def get_table_info(db_file, table_name):
155155
'fields': fields,
156156
'has_id': has_id_column
157157
}
158+
def get_foreign_keys(db_file, table_name):
159+
conn = sqlite3.connect(db_file)
160+
cursor = conn.cursor()
161+
cursor.execute(f"PRAGMA foreign_key_list({table_name})")
162+
fks = cursor.fetchall()
163+
conn.close()
164+
# Return a list of dicts for clarity
165+
return [
166+
{"from": fk[3], "to_table": fk[2], "to_column": fk[4]}
167+
for fk in fks
168+
]
158169

159170

160171

@@ -362,6 +373,9 @@ def my_database_procedure(db_info):
362373
col_name = col['col_name']
363374
col_type = col['col_type']
364375
pk = col['pk']
376+
377+
foreign_keys = get_foreign_keys(db_path, table_name)
378+
fk_map = {fk['from']: fk for fk in foreign_keys}
365379

366380
f_field_name = sanitize_field_name(to_camel_case(col_name))
367381
f_name = to_caption(col_name)

0 commit comments

Comments
 (0)