Recibo una columna desconocida 'userDetails.createdAt' en 'lista de campos' cuando intento buscar con asociación.
El uso findAll
sin asociación funciona bien.
Mi código es el siguiente:
var userDetails = sequelize.define('userDetails', {
userId :Sequelize.INTEGER,
firstName : Sequelize.STRING,
lastName : Sequelize.STRING,
birthday : Sequelize.DATE
});
var user = sequelize.define('user', {
email: Sequelize.STRING,
password: Sequelize.STRING
});
user.hasOne(userDetails, {foreignKey: 'userId'});
user.findAll({include: [userDetails] }).success(function(user) {
console.log(user)
});
node.js
sequelize.js
David Limkys
fuente
fuente
timestamps: false
era suficiente, pero de repente el Sequelize agregó un` .createdAt` al SELECT de una tabla específica, en una columna de clave externa. Luego necesitaba incluirlodefine: { timestamps: false }
en la instanciación de Sequelize y funcionó para mí.Recibí el mismo error al migrar nuestro proyecto de laravel a featherjs. Las tablas tienen nombres de columna created_at, updated_at en lugar de createdat, updatedat. Tuve que usar la asignación de nombres de campo en los modelos Sequelize como se indica a continuación
fuente
Tengo el mismo error, dos soluciones:
fuente
Desactivar marcas de tiempo Ex: -
fuente
bueno, tal vez sea demasiado tarde, pero puede crear createdAt, updatedAt cuando la migración como
Estoy usando express y sequelize mysql, luego el modelo simplemente se define como normal para ex:
fuente
Para postgresql:
Huelga decir que, en lugar de
user
,pass
,url
,port
ydbname
valores con los valores de configuración.fuente