2017-02-23 19 views
0

У меня есть приложение флеш, которое подключается к исходной базе данных, которая просто содержит данные для входа (учетные данные пользователя, пароли и т. Д.) - это работает нормально.Подключиться ко второй базе данных Динамически после входа пользователя - python Flask

Но, каждый пользователь получает свою собственную базу данных при создании учетной записи (необходимые для обеспечения безопасности и индивидуального доступа)

После того, как пользователь входит в, приложение запрашивает пользователей учетные данные для своего уникального URL базы данных.

Как взять этот URL базы данных и подключить вторую базу данных «на лету», так сказать. Возможно ли это?

Использование питона, колбы и sqlalchemy.

ответ

1

Просто управляйте каждым объектом sqlalchemy в каждом запросе. Вы не сможете использовать колбу-sqlalchemy для этого, вам придется использовать обычную sqlalchemy. Функционируйте следующее, взяв в свои аргументы двигателя, возвращая сеанс. Производительность также будет хуже (хотя, вероятно, этого недостаточно, чтобы позаботиться), но это неизбежно.

engine = create_engine(config.engine_str, **config.engine_args) 
Session = sessionmaker(bind=engine) 
session = Session() 

Вы также должны переосмыслить наличие базы данных для каждого пользователя. Очень вероятно, что это не нужно.

Смежные вопросы