私はレールに非常に慣れていないので、これがばかげた質問でないことを願っています。
Rails で 2 つの異なるユーザー アカウントを持つ postgresql データベースを使用しようとしています。ただし、これらのアカウントを切り替えることができるようにしたいので、データベースに対して同じ権限を持ちます(理想的には両方がpostgresqlスーパーユーザーになる必要はありません)。
NOLOGIN
データベースの所有者である postgres にロールを作成しました。次に、このロールに 2 つのユーザー アカウントを割り当てました。ただし、いつでもrake db:migrate
、ユーザー アカウント (ロールではなく) がテーブルの所有者になります。次にユーザーを切り替えると、2 番目のユーザーは、最初のユーザーによって作成されたテーブルに対する適切なアクセス許可を持っていません。
2 つのアカウントを持つ理由は、ダウンタイムなしでパスワードを変更する必要がある場合など、すばやく切り替えることができるようにするためです。
テーブルを作成するときに特定のロールを所有者として使用するようレールに指示する方法はありますか? (または、同じ postgresql ロールの 2 つのアカウントなしでこれを達成するためのより良い方法があるのでしょうか?)
更新:これまでのところ、このソリューションを外部スクリプトとして手動で実行し、すべてのテーブルの所有権を NOLOGIN ロールに変更することがわかりましたが、よりエレガントなものやレールによく合うものを望んでいます。