node.js - 将静态值创建到 Sequelize 模型中(没有迁移经验)

标签 node.js model sequelize.js

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

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 路由或其他地方所需的单独文件中?如您所见,我尝试执行持久化实例,但这些都不起作用。它会说明我在 Node CLI 中创建了这些项目,但在实际数据库中没有显示任何内容。

谢谢你。

最佳答案

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

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

关于node.js - 将静态值创建到 Sequelize 模型中(没有迁移经验),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43054796/

相关文章:

node.js - 通过 Node.js 将图像插入 MongoDB

django - django 中的多线程对话(如 Reddit)

node.js - 启动新的 Sequelize 后端但无法连接到 SQLite DB

javascript - 将 PDF 作为 BLOB 发送给客户端,但缺乏浏览器支持

node.js - 使用 Moment 查看 24 小时后的时差

javascript - 用 Javascript 描述数据模型

php - ZF : performing redirect inside model

mysql - 如何在 sequelize 中执行事务和回滚?

mysql - 如何在带有可选包含的 where 子句中使用运算符?

arrays - 我们可以将Redis中的32位int数组设置为key的值作为node.js中的二进制数据吗?