Создать таблицу MySQL с помощью sqlalchemy ORM из динамически изменяющегося словаря - PullRequest
0 голосов
/ 24 сентября 2019

Я хочу создать таблицу в моей базе данных 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)

Но не знал, как реализовать это дальше.

Подобные вопросы :

...