2017-02-23 13 views
0

私はログインデータ(ユーザーの資格情報、パスワードなど)を保持する初期データベースに接続するフラスコアプリケーションを持っています。ユーザーログイン後に動的に2番目のデータベースに接続する - python Flask

しかし、彼らは(セキュリティ上の目的および個々のアクセスのために必要な)アカウントを作成するときに、各ユーザーが自分のデータベースを取得し

ユーザーがログインすると、アプリは、ユーザーが独自のデータベースURLのログイン認証情報を照会します。

このデータベースのURLを取得し、2番目のデータベースを「オンザフライ」で接続するにはどうすればよいですか。それも可能ですか?

python、フラスコ、およびsqlalchemyを使用します。

答えて

1

各リクエスト内で各sqlalchemyオブジェクトを管理するだけです。フラスコのsqlalchemyを使用することはできません。通常のsqlalchemyを使用する必要があります。次のように機能させて、エンジンの引数を取り込み、セッションを返します。パフォーマンスも悪くなりますが(おそらく実際には十分ではありませんが)、それはやむを得ないことです。

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

また、ユーザーごとにデータベースがあることを再考する必要があります。それは不要である可能性が非常に高いです。

関連する問題