Sequelize同步方法在执行之前是否等待连接?

时间:2016-01-03 12:20:01

标签: sequelize.js

测试完这段代码后,我很困惑我的表格已经创建了。我希望在调用.sync方法时没有连接。 sync()方法是否以某种方式等待连接建立?

var Sequelize = require('sequelize');
var chalk = require('chalk');

var sequelize = new Sequelize('postgres://localhost/nfldb');

sequelize.define('team', {
  name: Sequelize.STRING
});

sequelize.authenticate()
  .then(function(){
    console.log(chalk.green('connected to database ' + sequelize.config.database));
  })
  .catch(function(er){
    console.log(chalk.red(er.message));
  });


sync();

function sync(){
  sequelize.sync({force: true})
    .then(function(){
      console.log(chalk.green('database has been synced'));
    })
    .catch(function(){
      console.log(chalk.red('unable to sync database'));
    });
}

1 个答案:

答案 0 :(得分:0)

是的,sync会自动请求与数据库的连接。 authenticate用于检查您是否可以在不执行实际查询的情况下连接到数据库 - 据我记得它SELECT 1 + 1。它不需要调用authenticate,它只是作为便利方法的menat。