大きな画像をSQLAlchemyモデルの設定とすると誰かが参考になるので、すべてのレベルで参照整合性が保証されますか?参照整合性 - SQLAlchemyの設定方法?
DBによって参照整合性が表現され、強制されなければならないというアイデアが浮かび上がってきました。私は必要と思うすべての制約を持つスキーマ(現在Postgresqlにあります)を作成しました。 。
私はSQLAlchemy(0.7)を宣言モードで使用して、このDBの上にアプリケーションを構築します。
を検索し、ビットを読んだ、私は私が設定できることを学びました:私の列()の定義に
- にonUpdate/ondeleteルール。
- 私の関係()定義のカスケードオプション、
これらはSQLAlchemyのセッションレベルで動作するようです。 - 私のrelationship()定義のためのpassive_deletesとpassive_updatesオプション。
これらのオプションにはデフォルト値があります。
しかし、SQLAlchemyがセッション中にDBとその制約と同期していないことを確認するために、SQLAlchemyモデルで実際にどのくらいのことをする必要があるのか混乱しています。
SQLAlchemyのColumns()定義で 'onupdate'などを設定すると、正確に何が達成されていますか?
また、カスケードとパッシブデリート/パッシブアップデートのルールでは、私はリレーションシップ()を設定できます。私はここで何が必要なのですか?なぜですか?
私の質問に言い換えると、SQLAlchemyはDBスキーマに設定されている制約をどのように拡張し、どのように拡張する必要がありますか?
私が知っておくべきことは何ですか? :)
zzzeekこんにちは、 は、私の頭の中に霧の一部を持ち上げるしようとしていただきありがとうございます。そして、SQLAlchemyのために! :) 自分の質問に「回答」を追加しました。そこでは、私が学んだと思っていることを要約しています。 うまくいけば、私は正しい軌道に乗っている... – herira