var Sequelize = require('sequelize');
var sequelize = new Sequelize('database', 'username', 'password', {
host: 'localhost',
dialect: 'sqlite',
// SQLite only
storage: 'db.sqlite'
});
var Driver = sequelize.define('driver', {
auth: Sequelize.STRING,
name: Sequelize.STRING,
phone: Sequelize.INTEGER,
bank: Sequelize.INTEGER,
idNo: Sequelize.STRING
});
var Hail = sequelize.define('hail', {
lat: Sequelize.INTEGER,
lon: Sequelize.INTEGER,
})
Hail.belongsTo(Driver);
sequelize.sync().then(function() {
return Hail.create({
lat: 123,
lon: 1234
});
}).then(function(driver) {
console.log(driver.get({
plain: true
}));
});
我正在尝试使用属于方法将冰雹连接到驱动程序。它似乎没有任何作用。日志不输出任何belongsTo 字段,并且hail 在数据库中没有driverID 列。我没有收到任何错误。
最佳答案
我怀疑您在添加 belongsTo
调用之前已经同步了数据库。默认情况下,“同步”操作不会重新创建表或修改现有表。您需要以“强制”方式同步一次:
sequelize.sync({force: true}).then(function() {
// ...
});
请注意,这会破坏您在表中的所有现有记录。
或者,考虑设置 migrations 。
关于node.js - ownTo 不做任何事情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37910138/