私は 2 つのモデルを持っていますが、どちらも users テーブルと関係があります。つまり、プロジェクト ユーザーはユーザーへの外部キーを持ち、コメントもユーザーに属します。
プロジェクト ユーザー モデル (projectusers.js
ファイル) の場合:
var User = require('./users').table;
var pusers_table = db.define('project_users', { ... });
pusers_table.belongsTo(User);
User.hasMany(pusers_table);
コメント モデル (comments.js
ファイル) の場合:
var User = require('./users').table;
var comments_table = db.define('comments', { ... });
comments_table.belongsTo(User);
User.hasMany(comments_table);
3 つすべて (ユーザー、プロジェクト ユーザー、およびコメント) は異なる JS ファイルで定義され、requirejs を使用して含まれていることに注意してください。
TypeError: Cannot read property 'associationType' of null
at null.<anonymous> (./node_modules/sequelize/lib/dialects/abstract/query.js:328:54)
at Array.forEach (native)
at module.exports.buildAssociatedDaoInstances (./node_modules/sequelize/lib/dialects/abstract/query.js:324:21)
at module.exports.transformRowWithEagerLoadingIntoDao (./node_modules/sequelize/lib/dialects/abstract/query.js:295:37)
at null.<anonymous> (./node_modules/sequelize/lib/dialects/abstract/query.js:282:50)
at Array.map (native)
at module.exports.transformRowsWithEagerLoadingIntoDaos (./node_modules/sequelize/lib/dialects/abstract/query.js:281:58)
at module.exports.handleSelectQuery (./node_modules/sequelize/lib/dialects/abstract/query.js:262:54)
at module.exports.AbstractQuery.formatResults (./node_modules/sequelize/lib/dialects/abstract/query.js:68:34)
at null.<anonymous> (./node_modules/sequelize/lib/dialects/mysql/query.js:32:35)
at Query.Sequence.end (./node_modules/mysql/lib/protocol/sequences/Sequence.js:66:24)
at Query._handleFinalResultPacket (./node_modules/mysql/lib/protocol/sequences/Query.js:143:8)
at Query.EofPacket (./node_modules/mysql/lib/protocol/sequences/Query.js:127:8)
at Protocol._parsePacket (./node_modules/mysql/lib/protocol/Protocol.js:172:24)
at Parser.write (./node_modules/mysql/lib/protocol/Parser.js:62:12)
at Protocol.write (./node_modules/mysql/lib/protocol/Protocol.js:37:16)
at Socket.ondata (stream.js:51:26)
at Socket.EventEmitter.emit (events.js:117:20)
at Socket.<anonymous> (_stream_readable.js:710:14)
at Socket.EventEmitter.emit (events.js:92:17)
at emitReadable_ (_stream_readable.js:382:10)
at emitReadable (_stream_readable.js:378:5)
at readableAddChunk (_stream_readable.js:143:7)
at Socket.Readable.push (_stream_readable.js:113:10)
at TCP.onread (net.js:511:21)
Sequelize のアップグレードを試みたところ、sequelize@1.7.0-alpha1 を使用していますが、まだ問題があります。
これらのうち 1 つしか定義していない場合、エラーは発生しないことに注意してください (つまり、コメント内の関係を削除すると、プロジェクト ユーザーは完全に正常に動作し、その逆も同様です)。
私は何を間違っていますか?