将静态值创建为Sequelize模型(没有迁移经验)

时间:2017-03-27 19:24:44

标签: node.js model sequelize.js

我正在开发一个小组项目,测试我们使用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中创建了这些项目,但实际数据库中没有显示任何内容。

谢谢。

1 个答案:

答案 0 :(得分:0)

你需要maincategories.sync()才能使sequelize将定义的模型同步到你的数据库。

http://docs.sequelizejs.com/en/v3/api/sequelize/#syncoptions-promise