環境
Rails5.2
PostgreSQL 12.10
Windows10 + Vagrant
はじめに
Railsにおける開発でテストデータを作成する場合、いちいちSQL文を書いて作成しなくてはいけないのだろうか。自分が以前、OracleやSQLServerを使ってクラサバの開発をしていた頃、AccessからODBC接続をおこない、テーブルリンクに直接手入力をして、テストデータを作成していました。それに比べ、Web開発の場合は、たかが1件のテストデータを更新するのに、わざわざSQL文を書かなくてはいけないのだろうか。Web開発においても、PostgreSQLを使っている場合であれば、pgAdminを使ってテストデータを直接手修正することができます。しかし、正直使い勝手はいいとはいえません。pgAdminを使うと、テーブルを選択して左クリックをして「View/Edi Data→All Rows」を選択し、データを全件表示させればデータを手修正できるようになります。しかし、1項目を修正する度に小ウィンドウが表示されて、OKボタンを押すといった操作が必要です。数件程度のデータであれば、このやり方で問題はないでしょうが、データ件数が数十件となると、このようなやり方は、とてもではないが、やってられなくなります。更に、Select文で、表示件数を度絞り込んだ後に、手修正するといったことが、pgAdminではできないことになります。
もっと、簡単にテストデータが作成できないものだろうか。そこで思いついたのが、AccessをPostgreSQLとODBC接続する方法です。Macを使って開発をしている人であれば、このような発想はなかっただろうと思います。Windowsを使っている人の特権かもしれません。
ODBCの設定
注意点
PostgreSQLのドライバーは、Unicode版ではなく、ANSI版を選択してください。
PostgreSQLは標準でSSL接続をサポートしているため、SSL Modeを無効にすると上手く行きません。