問題タブ [sqlalchemy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - SQLAlchemyはコミット前に自動インクリメントで主キーを取得します
自動インクリメントの主キーを使用してテーブルを作成した場合、実際にコミットせずに主キーが何であるかを取得する(つまり、主キーを予約するなどの操作を行う)方法はありますか?
トランザクション内に2つの操作を配置したいのですが、操作の1つは、前の操作で割り当てられた主キーによって異なります。
python - CherryPy Webフレームワーク、SQLAlchemyセッション、およびlighttpdを統合して高負荷のWebサービスを提供するためのベストプラクティス
CherryPyコントローラー内でORMSQLAlchemyセッションを使用できるようにするために、次の設定でlighttpdの背後にあるCherryPyFastCGIサーバーを開発しています。しかし、約500ループの14の同時リクエストでストレステストを実行すると、しばらくするとエラーが発生し始めAttributeError: '_ThreadData' object has no attribute 'scoped_session_class'
ます。エラー率は合計で約50%です。open_dbsession()
AttributeError: 'Request' object has no attribute 'scoped_session_class'
close_dbsession()
これは、サーバーをlighttpdの背後で実行した場合にのみ発生し、サーバーを直接実行した場合には発生しませんcherrypy.engine.start()
。connect()
例外が発生していないことが確認されています。
scoped_session
また、の戻り値をに割り当てようとしましたが(ここGlobalSession
で行うように)、他のSAレベルのエラーなどのエラーが発生しました。(同時実行:10、ループ:1000、エラー率:16%。直接実行した場合でも発生します。)UnboundExceptionError
考えられる原因はいくつかありますが、1つ選ぶのに十分な知識がありません。
1. start_thread
FastCGI環境ではサブスクリプションの信頼性は低くなりますか?
2のopen_dbsession()
前に呼び出されたようです。何らかの理由でクリアされますか?connect()
cherrypy.thread_data
サーバーコード
lighttpd fastcgi config
編集
- コード例で欠落
thread_index
していた引数を元のソースコードから復元しました(コメントのおかげで) - エラーがすぐに発生しないことを明確にしました
- 条件をlighttpdに絞り込みました
python - SELECT * SQLAlchemy で?
SELECT *
SQLAlchemyで行うことは可能ですか?
具体的には、SELECT * WHERE foo=1
?
python - 辞書ではなくプレーンな配列である SQLAlchemy から行を取得できますか?
いくつかの Python コードを最適化しようとしています。プロファイラーは、SQLAlchemy の _get_col() がパフォーマンスを低下させていることを教えてくれます。コードは次のようになります。
私はコードを調べて、このようにしようとしていました...
...しかし、配列などの行オブジェクトにアクセスするときに、実際にはまだ辞書キーをプルしていることを示すと思われるドキュメントをいくつか見つけました。つまり、行オブジェクトは次のようになります。
その場合、名前ではなく番号で列にアクセスすることでパフォーマンスが向上するとは思えません。辞書のリストではなく、タプルのリストまたはリストのリストとして結果を返すように SA を取得する方法はありますか? あるいは、他の最適化を提案できる人はいますか?
mysql - Django 接続プーリングと時間フィールド
Django、SQLAlchemy、および MySQL で動作する接続プールを持っている人はいますか?
私はこのチュートリアル(http://node.to/wordpress/2008/09/30/another-database-connection-pool-solution-for-django-mysql/)を使用しましたが、うまくいきましたが、私が抱えている問題はいつでもDjango 固有の変換が使用されていないため、timedelta に変換されている時間フィールドを戻します。
django/db/backends/mysql/base.py からの変換コード
}))
記事の接続コード:
python - 動的に作成されたオブジェクトの Doctest
このようなコードをテストする最良の方法は何ですか (オブジェクトが毎回異なるブロックで作成されている間、以下のコードは明らかに失敗します):
python - sqlalchemyで影響を受ける行の数を取得するには?
Python と sqlalchemy モジュールに関して 1 つ質問があります。cursor.rowcount
sqlalchemy Python に相当するものは何ですか?
python - SQLAlchemy-同等のINSERTまたはREPLACE
SQLAlchemyとそのSQL式言語のSQL「INSERTORREPLACE」句に相当するものを知っている人はいますか?
どうもありがとう-honzas
python - SQLAlchemy多対多の孤立した削除
SQLAlchemy を使用して、ユーザーが複数のグループを持つことができ、グループが複数のユーザーを持つことができる基本的なユーザー グループ モデルを実装しようとしています。
グループが空になったら、グループを削除したいと思います (グループに関連する他のものと一緒に。幸いなことに、SQLAlchemy のカスケードは、これらのより単純な状況でうまく機能します)。
問題は、 cascade='all, delete-orphan' が私が望んでいることを正確に実行しないことです。グループが空になったときにグループを削除するのではなく、メンバーがグループを離れたときにグループを削除します。
データベースにトリガーを追加すると、グループが空になったときにグループを削除するのに問題なく機能しますが、トリガーは SQLAlchemy のカスケード処理をバイパスしているように見えるため、グループに関連付けられているものは削除されません。
グループのすべてのメンバーが脱退し、この削除が関連するエンティティにカスケードされるときにグループを削除する最善の方法は何ですか?
ユーザーがグループを離れることができるコード内のすべての場所を見つけて、トリガーと同じことを行うことで、これを手動で行うことができることを理解していますが、コード内の場所を見逃すのではないかと心配しています (そして私は怠惰)。