नहीं बनाई गई हैं, मैं अपने सर्वर के लिए Sequelize का उपयोग करता हूं (mysql dialect के साथ); Sequelize के दस्तावेज़ में लिखा गया है कि यह:Sequelize के साथ विदेशी कुंजी
var Task = this.sequelize.define('Task', { title: Sequelize.STRING })
, User = this.sequelize.define('User', { username: Sequelize.STRING })
User.hasMany(Task)
Task.belongsTo(User)
बाधाओं के साथ स्वचालित रूप से विदेशी कुंजी संदर्भ बनाता है; लेकिन मेरे लिए ऐसा नहीं होता है: जैसे मीटर संघों:
var Shop = sequelize.define('Shop', {
name: Sequelize.STRING,
address: Sequelize.STRING,
phone: Sequelize.STRING,
email: Sequelize.STRING,
percentage: Sequelize.FLOAT,
text: Sequelize.TEXT,
categories: Sequelize.TEXT,
start: Sequelize.DATE,
end: Sequelize.DATE
});
var Offer = sequelize.define('Offer', {
name: Sequelize.STRING,
deadline: Sequelize.DATE,
optionDuration: Sequelize.INTEGER
});
Shop.hasMany(Offer);
Offer.belongsTo(Shop);
यह केवल "आईडी" प्राथमिक कुंजी
मैं भी कुछ n के साथ दो तालिकाओं की दुकानों और प्रस्तावों, उन दोनों के बनाता है:
Group.hasMany(Accesslevel);
Accesslevel.hasMany(Group);
लेकिन इस मामले में, सीक्वेलिज़ बनाने वाली तालिका में, कोई विदेशी कुंजी नहीं है; इसलिए यदि मैं पूर्व के लिए हटा देता हूं। जुड़ने वाली तालिका accesslevelsgroups में संबंधित रिकॉर्ड्स की तुलना में एक acccesslevel हटा नहीं है।
क्या कोई जानता है कि मैं कुछ गलत कर रहा हूं या कुछ खो रहा हूं? क्या मैं जरूरत संघों के लिए सभी विदेशी कुंजी और संभावना व्यवहार 'onDelete' और 'onUpdate' (झरना)
निर्दिष्ट करने के लिए बनाने के लिए है - मैं क्रियान्वित सिंक के लिए एक मार्ग बना लिया है अद्यतन :
myServer.get('/sync', function (req, res) {
sequelize.sync({force: true}).success(function() {
console.log('sync done');
res.send(200, 'sync done');
}).error(function(error) {
console.log('there was a problem');
res.send(200, 'there was a problem');
});
});
तो फिर ब्राउज़र मैं 127.0.0.1:port/sync टाइप डाटाबेस संरचना
sequelize का समर्थन नहीं करता विदेशी keys.You की जरूरत है। – mpm
@mpm यह बेहद गलत है, http://sequelizejs.com/docs/1.7.8/associations#foreign-keys –
@ विल्म डी'हाइस्लेयर अच्छी तरह से जब मैंने इसका इस्तेमाल किया, तो खुशी हुई कि अब यह समर्थित है। – mpm