Mysql 如何在node.js中使用sequelize在创建时将数据保存在数据库中

Mysql 如何在node.js中使用sequelize在创建时将数据保存在数据库中,mysql,node.js,sequelize.js,Mysql,Node.js,Sequelize.js,我试图在创建数据库时保存批量数据。我的代码有以下问题: 如果我保持models.sequelize.sync({force:true}),那么(function(){})则表示未创建表 若我保持{force:false},那个么在第一次部署中它创建表,在第二次部署中它将数据保存在数据库中 model/Speclization.js module.exports = function(sequelize, DataTypes) { var Speclization = sequeliz

我试图在创建数据库时保存批量数据。我的代码有以下问题:

  • 如果我保持models.sequelize.sync({force:true}),那么(function(){})则表示未创建表
  • 若我保持{force:false},那个么在第一次部署中它创建表,在第二次部署中它将数据保存在数据库中
model/Speclization.js

module.exports = function(sequelize, DataTypes) {
    var Speclization = sequelize.define("Speclization",
        {
            speclizationname: DataTypes.STRING
        }, {
            tableName: 'speclization', // this will define the table's name
            timestamps: false           // this will deactivate the timestamp columns
        }
    );

    Speclization.bulkCreate([
        {speclizationname: 'Computer Science'}, // part of records argument
        {speclizationname: 'Information Technology'},
        {speclizationname: 'Electrical'},
        {speclizationname: 'Other'},
        {speclizationname: 'Mechninncal'},
        {speclizationname: 'Electronics'}
    ], ['speclizationname'])
    return Speclization;
};

我想不出在应用程序部署时如何将数据保存到数据库中的正确方法

如何从模型定义中删除
bulkCreate
,并将其放入
sync
回调中?(因为表将在
sync
之后创建,所以我认为在
sync
完成之前不能
bulkCreate

如下图所示:

models.sequelize.sync({force: true}).then(function(){
    Speclization.bulkCreate([
        {speclizationname: 'Computer Science'}, // part of records argument
        {speclizationname: 'Information Technology'},
        {speclizationname: 'Electrical'},
        {speclizationname: 'Other'},
        {speclizationname: 'Mechninncal'},
        {speclizationname: 'Electronics'}
    ]);
});
然后将模型定义如下:

module.exports = function(sequelize, DataTypes) {
    var Speclization = sequelize.define("Speclization",
        {
            speclizationname: DataTypes.STRING
        }, {
            tableName: 'speclization', // this will define the table's name
            timestamps: false           // this will deactivate the timestamp columns
        }
    );
    return Speclization;
};

专业化应该用英语写为“专业化”。)

如何从模型定义中删除
bulkCreate
,并将其放入
sync
回调中?(因为表将在
sync
之后创建,所以我认为在
sync
完成之前不能
bulkCreate

如下图所示:

models.sequelize.sync({force: true}).then(function(){
    Speclization.bulkCreate([
        {speclizationname: 'Computer Science'}, // part of records argument
        {speclizationname: 'Information Technology'},
        {speclizationname: 'Electrical'},
        {speclizationname: 'Other'},
        {speclizationname: 'Mechninncal'},
        {speclizationname: 'Electronics'}
    ]);
});
然后将模型定义如下:

module.exports = function(sequelize, DataTypes) {
    var Speclization = sequelize.define("Speclization",
        {
            speclizationname: DataTypes.STRING
        }, {
            tableName: 'speclization', // this will define the table's name
            timestamps: false           // this will deactivate the timestamp columns
        }
    );
    return Speclization;
};

专业化应该用英语写为“专业化”。)

您能告诉我如何在每次部署时使用旧数据库重新创建数据库吗。因为如果我保留{force:true},那么旧的数据库就会被删除,新的数据库就会被创建。我不确定你的意思,我认为它属于一个新问题:)是的,你是对的:)。我发布了一个新问题:您能告诉我如何在每次部署旧数据库时使用它重新创建数据库吗。因为如果我保留{force:true},那么旧的数据库就会被删除,新的数据库就会被创建。我不确定你的意思,我认为它属于一个新问题:)是的,你是对的:)。我发布了一个新问题: