Skip to content

Instantly share code, notes, and snippets.

@rdapaz
Created December 21, 2021 07:29
Show Gist options
  • Save rdapaz/3f1a62e9862cf5b6a6dbe98f7dc8a04b to your computer and use it in GitHub Desktop.
Save rdapaz/3f1a62e9862cf5b6a6dbe98f7dc8a04b to your computer and use it in GitHub Desktop.
Dump Schema from SQLITE database
# Dump schema from table
"""
Credit to Wilfredo Sánchez Vega who posted this answer
on stackoverflow
https://stackoverflow.com/questions/11996394/is-there-a-way-to-get-a-schema-of-a-database-from-within-python
"""
import sqlite3
import re
import os
from pathlib import Path
cwd = Path.cwd()
db_path = os.path.join(cwd, <dbname>)
conn = sqlite3.connect(db_path)
def printSchema(connection):
for (tableName,) in connection.execute(
"""
select NAME from SQLITE_MASTER where TYPE='table' order by NAME;
"""
):
print("{}:".format(tableName))
for (
columnID, columnName, columnType,
columnNotNull, columnDefault, columnPK,
) in connection.execute("pragma table_info('{}');".format(tableName)):
print(" {id}: {name}({type}){null}{default}{pk}".format(
id=columnID,
name=columnName,
type=columnType,
null=" not null" if columnNotNull else "",
default=" [{}]".format(columnDefault) if columnDefault else "",
pk=" *{}".format(columnPK) if columnPK else "",
))
printSchema(conn)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment