node.js - duplicate foreign key column using sequelize -
i have node project using sequelize, , have following 2 tables
"use strict"; module.exports = function(sequelize, datatypes) { var asset = sequelize.define("asset", { description : datatypes.string, maker : datatypes.string, model : datatypes.string, serialnumber : datatypes.string, barcode : datatypes.string, account : datatypes.integer, usefullife : datatypes.integer, downtimecosts : datatypes.float, purchaseprice : datatypes.float }, { classmethods: { associate: function(models) { /*un estado es de muchas categorias, y no se puede borrar si tiene un activo asociado*/ asset.belongsto(models.assetstate, { ondelete: "restrict", foreignkey: { allownull : false, name : 'assetstate_id' } }); } } }); return asset; }; "use strict"; module.exports = function(sequelize, datatypes) { var assetstate = sequelize.define("assetstate", { state: datatypes.string }, { classmethods: { associate: function(models) { assetstate.hasmany(models.asset) } } }); return assetstate; }; the problem when check asset tables in postgres have 2 columns ("assetstate_id", "assetstate") suppose because give name of relation explicitly, can not generate column "assetstate"?
thanks
you can declare primary key in assetstate table , reference in association definition:
var assetstate = sequelize.define("assetstate", { assetstate_id: { type: sequelize.integer, primarykey: true, autoincrement: true }, state: datatypes.string }, { classmethods: { associate: function(models) { assetstate.hasmany(models.asset, { foreignkey: 'assetstate_id' }) } } });
Comments
Post a Comment