SQLAlchemyORM-セッションの作成
データベースと対話するには、そのハンドルを取得する必要があります。セッションオブジェクトはデータベースへのハンドルです。セッションクラスは、以前に作成されたエンジンオブジェクトにバインドされる構成可能なセッションファクトリメソッドであるsessionmaker()を使用して定義されます。
from sqlalchemy.orm import sessionmaker
Session = sessionmaker(bind = engine)
次に、セッションオブジェクトは、デフォルトのコンストラクタを使用して次のように設定されます。
session = Session()
セッションクラスで頻繁に必要とされるメソッドのいくつかを以下に示します-
| シニア番号 | 方法と説明 |
|---|---|
| 1 | begin() このセッションでトランザクションを開始します |
| 2 | add() セッションにオブジェクトを配置します。その状態は、次のフラッシュ操作でデータベースに保持されます |
| 3 | add_all() オブジェクトのコレクションをセッションに追加します |
| 4 | commit() すべてのアイテムと進行中のトランザクションをフラッシュします |
| 5 | delete() トランザクションを削除済みとしてマークします |
| 6 | execute() SQL式を実行します |
| 7 | expire() インスタンスの属性を古いものとしてマークします |
| 8 | flush() すべてのオブジェクトの変更をデータベースにフラッシュします |
| 9 | invalidate() 接続の無効化を使用してセッションを閉じます |
| 10 | rollback() 進行中の現在のトランザクションをロールバックします |
| 11 | close() すべてのアイテムをクリアし、進行中のトランザクションを終了することにより、現在のセッションを閉じます |