Sequelize example建议在server.listen()
app.js
之前执行此操作,这似乎太有限了。
您如何编写更复杂的同步或迁移脚本?
答案 0 :(得分:1)
在启动项目之前,将新项目与DB同步是一次性过程。数据库或与应用程序同步或不同步,因此请勿在Express中输入同步代码。使用所有sync.js
和同步代码创建独立的models
文件,并在运行Express应用之前运行它。
var Sequelize = require('sequelize');
var sequelize = new Sequelize(... {
// dbs settings
});
var User = sequelize.define('User', {
name: Sequelize.STRING
});
var Post = sequelize.define('Post', {
title: Sequelize.STRING,
body: Sequelize.STRING
});
Post.belongsTo(User);
User.hasMany(Post);
User.sync({force: true}).success(function() {
Post.sync({force: true}).success(function() {
console.log('Everything was synchronized');
});
});
然后运行Express app