web-dev-qa-db-ja.com

Node.js KnexとSequelizeの類似点/相違点は何ですか?

IRCチャネルから得た答え:

Sequelizeは、いくつかのクエリビルダー関連のものを含むORMです。 Knexはjustクエリビルダーであり、ORMではありません。

ORMは実際には多くのユースケースにあまり適合していません。ORMが表現できるものの限界に達しやすく、ORMはそれらから脱却する必要があります。

しかし、それは本当にそれぞれの長所と短所を説明するものではありません。私は説明、そしておそらくそれらの類似点/相違点を強調する簡単な例(ユースケース)を探しています。

なぜ一方をもう一方に使用するのですか?

10
nawK

Sequelizeは本格的なORMであり、SQLをオブジェクト表現の背後に隠すように強制します。 Knexは単純なクエリビルダーです。これは、アプリケーション開発には低レベルのツールです。

objection.jsを使用することをお勧めします。これは、あらゆる種類のSQLクエリを作成する能力を損なうことなく、ORMの優れた部分を組み合わせます。

これは、objection.jsの作成者からの良い記事です https://www.jakso.me/blog/objection-to-orm-hatred

免責事項:私はknexのメンテナーであり、objection.jsの開発にも関与しています。

11
Mikael Lepistö