Node.jsを使用するようにプロジェクトを書き直しています。MySQLを引き続きDBとして使用したいのですが(スキーマを書き換えてもかまいません)。私は、キャッシュ、多対1および多対多の関係をサポートする、使いやすく、合理的なパフォーマンスのORMを探しています。私が見つけたMySQL ORMから、persistencejsとsequelizeが最も成熟しているようです。どちらかでの経験はありますか?私の決定で注意すべき関連する長所と短所は何ですか?
Node.jsを使用するようにプロジェクトを書き直しています。MySQLを引き続きDBとして使用したいのですが(スキーマを書き換えてもかまいません)。私は、キャッシュ、多対1および多対多の関係をサポートする、使いやすく、合理的なパフォーマンスのORMを探しています。私が見つけたMySQL ORMから、persistencejsとsequelizeが最も成熟しているようです。どちらかでの経験はありますか?私の決定で注意すべき関連する長所と短所は何ですか?
回答:
Node ORMを提案できますか?
https://github.com/dresende/node-orm2
Readmeにはドキュメントがあり、MySQL、PostgreSQL、SQLiteをサポートしています。
MongoDBはバージョン2.1.x(2013年7月にリリース)以降で使用可能です
ドキュメントが優れているため、Sequelizeを選択します。それは正直な意見です(MySQLをNodeで実際に使ったことはありません)。
まず、どちらも使用していないことに注意してください(ただし、Node.jsを使用しています)。
どちらのライブラリーも十分に文書化されており、安定したAPIを備えています。ただし、persistence.js はより多くのプロジェクトで使用されているようです。彼ら全員がまだそれを使っているかどうかはわかりませんが。
sequelizeの開発者は、時々でそれについてブログblog.depold.com。主キーを外部キーとして使用する場合は、このブログ投稿に記載されているパッチが必要です。persistence.jsのヘルプが必要な場合は、専用のGoogleグループがあります。
私が収集した例から、sequelizeはpersistance.jsよりもJavaScriptに少し似ています(砂糖が多い)が、サポートされるデータストアは少ない(MySQLのみで、persistance.jsはブラウザー内ストアを使用することもできる)。
MySQLのサポートが必要なだけなので、sequelizeがあなたにとって最適な方法になると思います。ただし、便利な機能(検索など)が必要な場合や、後で別のデータベースを使用する場合は、persistence.jsを使用する必要があります。
SequelizeとPersistence.jsの主な違いの1つは、前者がSTRING
データ型をサポートすることVARCHAR(255)
です。すべてを作るのは本当に不快だと感じましたTEXT
。