gpt4 book ai didi

mysql - Sequelize - 如何在一个种子文件中创建多个记录

转载 作者:行者123 更新时间:2023-12-03 22:20:31 24 4
gpt4 key购买 nike

我有 2 个表,名为 questionnairesection

questionnaire => 1-to-N => section
我创建了一个种子文件来添加问卷。
'use strict';

module.exports = {
up: async (queryInterface, Sequelize) => {
return queryInterface.bulkInsert('questionnaire', [
{
type: '1',
description: 'first questionnaire',
createdAt: new Date(),
updatedAt: new Date()
},
{
type: '2',
description: 'second questionnaire',
createdAt: new Date(),
updatedAt: new Date()
},
]);
},

down: async (queryInterface, Sequelize) => {
return queryInterface.bulkDelete('questionnaire', null, {});
}
};

由于不同的问卷有不同数量的部分,我想知道如何创建种子文件以同时创建多个部分。
例如,如果我想在问卷 1 中创建 5 个部分,在问卷 2 中创建 4 个部分,我该怎么做?
20210608094246-create-section.js
'use strict';

module.exports = {
up: async (queryInterface, Sequelize) => {
// what to do here?
},

down: async (queryInterface, Sequelize) => {
}
};

最佳答案

您可以使用以下内容:

'use strict';

const { Questionnaire, Section } = require('../models')();

module.exports = {
up: async (queryInterface, Sequelize) => {

let q1 = await Questionnaire.create({ description: 'Questionnaire 1' });

let q2 = await Questionnaire.create({ description: 'Questionnaire 2' });

// Now you have access to the q1 + q2 instances where you can add your sections via the Questionnaire model associations.

},

down: async (queryInterface, Sequelize) => {

await queryInterface.bulkDelete('questionnaire', null, {});

}
};
这允许您使用标准模型实例方法来添加关联数据。

关于mysql - Sequelize - 如何在一个种子文件中创建多个记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67896657/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com