我正在开发一个小组项目,测试我们使用Sequelize与正常ORM生成的后端项目。 MySQL DB中的两个模型是类别表。这些不会动态创建,更新或销毁,但需要在程序运行时存在。我所属的课程没有涵盖实例或迁移。这是迄今为止的模型..
module.exports = function(sequelize, DataTypes){
var maincategories = sequelize.define("maincategories", {
maincategories_id: {
//make primary key
type: DataTypes.INTEGER,
allowNull: false,
primaryKey: true,
autoIncrement:true
},
maincategories_name: {
type: DataTypes.STRING,
allowNull: false
}
},
{
classMethods: {
associate: function(models){
maincategories.hasMany(models.posts),
maincategories.hasMany(models.subcategories)
}
}
});
// maincategories.create({ maincategories_name: 'For Sale'}).then(function(insertedCategory){
// console.log(insertedCategory.dataValues);
// });
maincategories.create({ maincategories_name: 'Housing'})
maincategories.create({ maincategories_name: 'Personals'});
return maincategories;
// maincategories.hasMany(posts);
// maincategories.hasMany(subcategories);
};
如何让Region表在node.js应用程序启动时或之前添加这些值?此外,代码是否驻留在模型,api路由或其他地方所需的单独文件中?正如你所看到的,我试图做持久化实例,但这些都没有用。它会声明我已经在节点CLI中创建了这些项目,但实际数据库中没有显示任何内容。
谢谢。
答案 0 :(得分:0)
你需要maincategories.sync()才能使sequelize将定义的模型同步到你的数据库。
http://docs.sequelizejs.com/en/v3/api/sequelize/#syncoptions-promise