(no title)
cpimhoff | 1 year ago
Reflecting an existing database isn't part of the library, but with the magic of "it's just Python" it's pretty easy to write a function that does so yourself:
import hashquery as hq
def reflect_db(url: str) -> list[hq.Model]:
"""
Given a connection string,
returns a list of Hashquery models
for all the physical tables in
the database.
"""
models: list[hq.Model] = []
reflection = some_reflection_lib.reflect_db(url)
for table in reflection.tables:
models.append(
hq.Model()
.with_source(url, table.name, table.schema)
.with_attributes(*table.column_names)
)
# ...more logic for importing foreign keys or whatever else
return models
No comments yet.