私はsequelizeを使用して新しいNodeアプリケーションを持っていますが、1つのクエリを実行することはできません。任意の検索クエリで異常終了することを避ける
私はfind
何にしようとしていると、それだけでは動作しません:
var models = require('./models');
models.User.findById(1, { logging: console.log })
すべてfind
クエリは正確に同じエラーを示してしまいます。データベースが移行され、シードされました。私はそれを開いて、そこにユーザーの束があることを確認しました。
ここに私のモデルです:
// user.js
'use strict';
module.exports = function(sequelize, DataTypes) {
var User = sequelize.define('User', {
email: DataTypes.STRING,
name: DataTypes.STRING
}, {
classMethods: {
associate: function(models) {
// associations can be defined here
User.belongsToMany(models.Group, {through: 'Membership'})
}
}
});
return User;
};
スタックトレース:
Executing (default): SELECT `id`, `email`, `name`, `createdAt`, `updatedAt` FROM `Users` AS `User` WHERE `User`.`id` = 1;
/node_modules/sqlite3/lib/trace.js:28
throw err;
^
TypeError: date.indexOf is not a function
at DATE.parse (/node_modules/sequelize/lib/dialects/sqlite/data-types.js:28:14)
at /node_modules/sequelize/lib/dialects/sqlite/query.js:170:36
at /node_modules/lodash/lodash.js:12572:23
at /node_modules/lodash/lodash.js:4361:15
at baseForOwn (/node_modules/lodash/lodash.js:2622:24)
at Function.mapValues (/node_modules/lodash/lodash.js:12571:7)
at /node_modules/sequelize/lib/dialects/sqlite/query.js:134:32
at Array.map (native)
at Statement.afterExecute (/node_modules/sequelize/lib/dialects/sqlite/query.js:133:39)
--> in Database#all('SELECT `id`, `email`, `name`, `createdAt`, `updatedAt` FROM `Users` AS `User` WHERE `User`.`id` = 1;', [], [Function])
at /node_modules/sequelize/lib/dialects/sqlite/query.js:241:36
at Promise._execute (/node_modules/bluebird/js/release/debuggability.js:272:9)
at Promise._resolveFromExecutor (/node_modules/bluebird/js/release/promise.js:473:18)
at new Promise (/node_modules/bluebird/js/release/promise.js:77:14)
at executeSql (/node_modules/sequelize/lib/dialects/sqlite/query.js:103:19)
at tryCatcher (/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/node_modules/bluebird/js/release/promise.js:502:31)
at Promise._settlePromise (/node_modules/bluebird/js/release/promise.js:559:18)
at Promise._settlePromise0 (/node_modules/bluebird/js/release/promise.js:604:10)
at Promise._settlePromises (/node_modules/bluebird/js/release/promise.js:683:18)
at Promise._fulfill (/node_modules/bluebird/js/release/promise.js:628:18)
at MappingPromiseArray.PromiseArray._resolve (/node_modules/bluebird/js/release/promise_array.js:125:19)
at MappingPromiseArray._promiseFulfilled (/node_modules/bluebird/js/release/map.js:97:18)
at Promise._settlePromise (/node_modules/bluebird/js/release/promise.js:564:26)
at Promise._settlePromise0 (/node_modules/bluebird/js/release/promise.js:604:10)
編集:私は(後方互換性のものである)スタック内の一番上の項目をコメントアウトした場合それは正常に動作します.... ???????????私は私が狂っていないと教えてください。
DBテーブルに 'createdAt'と' updatedAt'フィールドが定義されていますか?そしてそれらは 'datetime'と定義されていますか? –
これらのフィールドの両方が存在し、 'datetime'です – MishieMoo