Я хочу создать таблицу в моей базе данных MySQL из словаря, который будет динамически изменяться со временем .
Словарь выглядит следующим образом, в котором указывается name
+ type
столбцов, которые будут созданы.Это файл settings , который пользователь заполняет до запуска проекта.
dct = {'ID':'String',
'Benefit':'Float',
'Premium':'Float'}
Я знаю, как создать это, жестко закодировав его в классе сопоставления следующим образом:
from sqlalchemy import create_engine, Column, String, Float
from sqlalchemy.ext.declarative import declarative_base
engine = create_engine('mysql+mysqldb://...')
Base = declarative_base()
class Table(base):
__tablename__ = 'example'
id = Column(String(30), primary_key=True)
benefit = Column(Float)
Premium = Column(Float)
Вопрос : Как бы я создал эти таблицы без жесткого кодирования имен и типов, но вычтя их из словаря.
Я также попытался создать класс из dict:
class Policy:
def __init__(self, dictionary):
for k, v in dictionary.items():
setattr(self, k, v)
Но не знал, как реализовать это дальше.
Подобные вопросы :