sequelize-auto を PostgreSQL に対して実行したら TypeError: connection.query(...).on is not a function と怒られるとき

sequelize-auto とは

sequelize-auto とは、既存のデータベースのスキーマを読み取ってファイルに吐き出してくれる CLI アプリケーションです。Ruby ならば Ridgepole が近いでしょうか。

PostgreSQL に対して実行するとエラーが出ることがある

PostgreSQL に対して sequelize-auto を実行すると以下のようなエラーが出ることがあります。

$ sequelize-auto -o "./models" -d my_database -h localhost -u my_username -p 5432 -x my_password -e postgres
TypeError: connection.query(...).on is not a function

どうするか

pg のバージョンを 6.4.2 に下げます。

$ yarn add pg@6.4.2
(省略)
✨  Done in 2.16s.
$ sequelize-auto -o "./models" -d my_database -h localhost -u my_username -p 5432 -x my_password -e postgres
(省略)
ers' AND c.table_schema = 'public'
Done!

参考

Powered by はてなブログ