私はPGのドキュメントhere:に応じて、当社のPG 8.3データベースのいずれかにトリガー・ベースparitioningスキームを設定しました。基本的には、いくつかの子テーブルとともに親テーブルがあります。親の挿入トリガーは、親の挿入を適切な子テーブルにリダイレクトします。これはうまくいきます。ActiveRecordは、Postgresのとパーティション表
のActiveRecordのPGアダプタは、しかし、最初の挿入後に返された行のIDを取得するには、「ID」の拡張子をRETURNING ... PostgresのINSERTに依存しているようです。しかしトリガはRETURNING句を破るようです - idは返されませんが、行は正しく作成されます。
私はこの動作が理にかなっていますが、結局何もメインテーブルに何も挿入されていないと思いますが、実際にはいくつかの回避策を見つける必要があります。ちょうど挿入された行
挿入する前に行に一意のIDを追加して、挿入後にこのキーを使用して再読み込みすることができますが、これはかなりクルージングのようです。誰かがより良い回避策を持っていますか?