2つのORMを同じWebアプリケーションに混在させることは可能ですか?もしそうなら、最適な方法は?なぜそうなのか? - flask-mysqldbを使用してフラスコ内のWebアプリケーションを開発しています。私は認証システムを実装する必要があります。フラスコ - mysqldbには安全な方法はありません。 - これで私はフラスコのセキュリティを実装しようとしていますが、フラスコのsqlalchemyだけで動作するので、sqlalchemyとmysqldbを混在させようとしています。それ以前には最適かどうか、 sqlalchemyに沿ったユーザー認証とmysqldbへの他のデータの使用につながります。2つのORMSを同じWebアプリケーションで混在させることはできますか?
1
A
答えて
1
可能ですが、お勧めしません。このことを考えてみましょう:あなたのアプリの
- 半分は正しいORMは、テーブルにフィールドを追加する
- 提供しています何の恩恵を受けないであろうことは多くの場所で生のSQLを編集して、モデルを変更することを意味します。
同期させておくことを忘れないでください。
また、あなたは生のMySQLdbを使用するポートすべてがSQLAlchemyのを使用することができます。
- は、あなたのテーブルにフィールドを追加する必要がありますか? 1つの場所でモデルを変更するだけです。
- ORMが生成するSQLクエリが嫌いですか?あなたはまだこれに対して低レベルのコントロールを持っています。
+1
あなたの答えに追加するだけです。低レベルのdbクエリが必要な場合は、低レベルのSQLサポートを提供するSqlAlchemy Core -http://docs.sqlalchemy.org/en/latest/core/があります。 –
2
各ormにモジュールを割り当てることができます。 1つのモジュールはauth_dbと呼ばれ、もう1つのモジュールはdata_dbと呼ばれます。メインのアプリケーションファイルでは、両方のモジュールをインポートしてデータベース接続を初期化するだけです。つまり、このアプローチは将来的には維持するのが難しく、他の開発者が何が起こっているのかを理解することは難しいでしょう。私はあなたのフラスコ - mysqldbコードをsqlalchemyに移動して、1つのORMしか使用しないことをお勧めします。
関連する問題
- 1. 同じプロジェクトでClojureScriptとJVM-Clojureを混在させることはできますか?
- 2. 1つのアプリケーションでUIKitとTVMLKitを混在させることはできますか?
- 3. CSSとSCSSを同じスタイルシートに混在させることはできますか?
- 4. 同じlaravel Webアプリケーションをオンラインでローカルにすることはできますか?
- 5. OnIdiomとOnPlatformをXAML(Xamarin.Forms)で混在させることはできますか?
- 6. Firebaseで特定のデータタイプを混在させることはできますか?
- 7. Web Azure Accelerator for Web DeployとWindows Azure Accelerator for Umbracoを同じWebロールで混在させる。
- 8. 同じアプリケーションでQWebPageを2回使用することができません
- 9. SqlConnection.BeginTransactionとTransactionScopeを混在させることはできますか?
- 10. JQueryとJavascriptを混在させることはできますか?
- 11. OpenGL:glBindBufferとglBindBufferARBを混在させることはできますか?
- 12. arm-eabiとarm-elfを混在させることはできますか?
- 13. 共有ポインターと非ポインターデータメンバーを混在させることはできますか?
- 14. KtorとExposedを混在させることはできますか?
- 15. 同じIDを持つ2つのコンポーネントをアプリケーションに追加することはできません
- 16. 私は、es5/es2015 AngularJSアプリを混在させることはできますか?
- 17. 2つのウィンドウでハンドルを同じにすることはできますか?
- 18. 2つの名前を同じにすることはできません - mongodb
- 19. MVC WebアプリケーションとAPI Webアプリケーションを同じプールで実行できますか?
- 20. Jersey + Guiceは、ジャージーリソースとジャージーリソースを混在させることはできません。
- 21. 同じアクセスレポートのポートレートとランドスケープページを混在させる
- 22. 2つのオーディオバッファを混在させたときのクリック/歪み
- 23. 同じDjangoトランザクション内でrawオペレーションとORMオペレーションを混在させるか?
- 24. C#アプリケーションのSocket.Handleを同じサーバー上で動作するASP.NET Webアプリケーションに渡すことはできますか?
- 25. 同じPERFORCEストリームに2つのビューを持つことはできますか?
- 26. 2つのレルムモジュールが同じクラスを持つことはできますか?
- 27. 2つのNSWindowControllerを同じアプリに持つことはできますか?
- 28. 同じlibsの(同じ名前の)2つの異なるバージョンがアプリケーションに存在することはできますか?
- 29. 同じ名前の2つのカーソルを2つの異なるプロシージャに存在させることはできますか?
- 30. 同じアプリケーション内の2つの異なるcassandraクラスタに照会することはできません
なぜFlask-MySQLdbでログインを実装する安全な方法はないと思いますか?データベースはログインシステムに影響しません。 – davidism
私は最初からログインシステムを構築したくありませんフラスコログインのような優れたセキュリティを備えた箱から取り出したいと思っています。フラスコログインはsqlalchemyと一緒にしか使えません。 – titpoettt
読んだところは間違っています。私は答えはまだ "SQLAlchemyを使用する"ことですが、質問の前提は少しです。 – davidism