Untitled
unknown
plain_text
a year ago
922 B
11
Indexable
from sqlalchemy import Table, Column, inspect
from .base_model import BaseModel, metadata
from app.config.database import engine
from strawberry import type
inspector = inspect(engine)
table_name = "mdm_product_view"
if table_name not in inspector.get_table_names():
raise Exception(f"Table '{table_name}' not found in the database")
table = Table(table_name, metadata, autoload_with=engine)
column_names = table.columns.keys()
primary_keys = [key.name for key in table.primary_key.columns]
if not primary_keys:
primary_keys = ["RECORD_ID"]
attributes = {"__tablename__": table_name}
for column in table.columns:
column_type = column.type
if column.name in primary_keys:
atrributes[column.name] = Column(column_type, primary_key=True)
else:
attributes[column.name] = Column(column_type)
DynamicModel = type("DynamicModel", (BaseModel,), attributes)Editor is loading...
Leave a Comment