不属于任何事情

时间:2016-06-19 17:51:13

标签: node.js orm sequelize.js

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列。我没有收到任何错误。

1 个答案:

答案 0 :(得分:0)

我怀疑您在添加belongsTo电话之前已同步数据库。默认情况下,“sync”操作不会重新创建表或修改现有表。您需要以“强制”方式同步一次:

sequelize.sync({force: true}).then(function() {
    // ...
});

请注意,这会破坏表格中的所有现有记录。

或者,请查看设置migrations