postgresql データベースのテーブルにテスト データをロードしたいと考えています。
私は単体テストクラス内でこれを行っています。
$this->Application_Model_UserMapper->getDbTable()->getAdapter()->query("COPY users FROM '" . APPLICATION_PATH . "/../tests/dbtestdata/users.csv' CSV HEADER NULL AS E'\N'");
ファイルとの間でコピーするには、スーパー ユーザーでなければならないというエラー メッセージが表示されます。それは、postgres ユーザーとしてログインする必要があるということですか? それがセキュリティ上の問題を引き起こす可能性があることを読んだので、私はそれをすることに熱心ではありません.
他のオプションは \COPY のようですが、次のようには動作しません..
$this->Application_Model_UserMapper->getDbTable()->getAdapter()->query("
\COPY users FROM '" . APPLICATION_PATH . "/../tests/dbtestdata/users.csv'
CSV HEADER NULL AS E'\N'
");
構文エラーが発生します。