如何使用Sequelize for node.js和Heroku Postgres脚本同步和迁移操作?

Sequelize示例build议在app.js server.listen()之前执行此操作,这似乎太有限制了。

你将如何脚本更复杂的同步或迁移?

与数据库同步新项目在启动项目之前是一次性的过程。 数据库或与应用程序同步或不同步,所以不要在Express中input同步代码。 使用所有models和同步代码创build独立的单独sync.js文件,然后在运行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'); }); }); 

之后运行你的应用程序