【问题标题】:Creating Static Values into a Sequelize model (no experience with migration)在 Sequelize 模型中创建静态值(没有迁移经验)
【发布时间】:2017-08-20 15:44:27
【问题描述】:

我正在开展一个小组项目,测试我们对 Sequelize 的使用与普通 ORM 生成的后端项目的对比。我们在 MySQL 数据库中的两个模型是类别表。这些不会被动态创建、更新或销毁,但需要在程序运行时存在。我所在的课程没有涵盖实例或迁移。这是迄今为止的模型..

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);
};

如何让 Category 表在 node.js 应用程序启动时或之前添加这些值?此外,代码是否会驻留在模型、api 路由或其他地方所需的单独文件中?正如你所看到的,我尝试做持久化实例,但这些都不起作用。它会说明我在节点 CLI 中创建了这些项目,但实际数据库中没有显示任何内容。

谢谢。

【问题讨论】:

    标签: node.js model sequelize.js


    【解决方案1】:

    您需要 maincategories.sync() 以便 sequelize 将定义的模型同步到您的数据库。

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

    【讨论】:

      猜你喜欢
      • 2020-11-09
      • 2017-09-15
      • 2019-04-16
      • 2015-10-12
      • 2021-08-23
      • 2017-11-18
      • 2020-02-16
      • 2015-07-19
      • 1970-01-01
      相关资源
      最近更新 更多