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
}));
});
我尝试使用belongs方法将冰雹连接到驱动程序。它似乎没有做任何事情。日志不输出任何belongsTo字段,并且hail在数据库中没有driverID列。我没有收到任何错误。
答案 0 :(得分:0)
我怀疑您在添加belongsTo
电话之前已同步数据库。默认情况下,“sync”操作不会重新创建表或修改现有表。您需要以“强制”方式同步一次:
sequelize.sync({force: true}).then(function() {
// ...
});
请注意,这会破坏表格中的所有现有记录。
或者,请查看设置migrations。