2016-04-15 22 views
2

私のアプリケーションは、サブドメインを使用して複数の顧客に対応し、共通のデータベースをインフラストラクチャ管理に使用し、顧客固有のデータベースを各顧客に使用します。私はこれをPython Flaskフレームワークとflask-sqlalchemyプラグインを使って開発しています。Flask:異なるサブドメインの異なるデータベースバックエンド?

単一の顧客シナリオでは、構成内の2つのsqlalchemyバインド(1つは顧客データベース用、もう1つはハウスキーピングデータベース用)を使用してこれを処理できます。 しかし、私は複数の顧客を追加するときに、顧客固有の構成を使用して顧客のバインドに適したデータベースを取得してほしい。顧客のデータをコンプライアンス要件のためにデータベースに保存することが重要です。

私は機能を実現できる方法の1つは、顧客と同じ数のWebアプリケーションを展開することですが、スケーラブルではありません。

私はblueprintsを使用して調査しましたが、青写真はそれぞれの青写真について異なる見解を持つために使用されています。私の見方は、すべての顧客にとって同じままです。私は、サブドメインに基づいて異なるデータベースにアクセスしたいだけです。また、顧客リストが成長するにつれて青写真を作成するのは良い考えではないかもしれません。どのように同じビューとモデル定義を使用して、単一のフラスコのアプリでこれを達成するには?

答えて

0

あなたは、ユーザーが認証されているかどうかを確認し、その後、フラスコのrequest.urlに基づいて正しいデータベースをうまくし、フラスコのグローバルgオブジェクトに保存するデコレータ@app.before_requestで包まれた機能にいくつかのコードを置くことができます。

関連する問題