5

SQLAlchemy で Pyramid を使用するときに、テーブルを読み取り専用としてマークする方法はありますか?

簡単な背景: 非常に複雑な既存のデータベースを使用するアプリに取り組んでいます。私のアプリはこのデータベースにいくつかの新しいテーブルを追加しますが、スキーマがよく理解されていない (ドキュメント化されていない) ため、他のテーブルを更新 (更新、挿入、削除) することは安全ではありません。

私の基本的な目的は、安全でないデータベースが更新される前にフェイルファストを実行して、問題のあるコードを見つけて削除できるようにすることです。これにより、私と将来の開発者がこのアプリでデータの問題を引き起こすことはありません。

私の素朴なアプローチ: 更新されるオブジェクト (db セッションで新規、ダーティ、および削除) をチェックし、読み取り専用テーブルがある場合は拒否する、pyramid_tm commit veto フックを追加します。

これを処理する既存のメカニズムはありますか? それともより良いアプローチですか?

4

1 に答える 1