gpt4 book ai didi

node.js - 如何使用 Sequelize 迁移/种子插入初始数据?

转载 作者:IT老高 更新时间:2023-10-28 22:01:28 25 4
gpt4 key购买 nike

我正在尝试创建初始迁移以填充测试数据库,但我无法使其正常工作。这就是我在迁移中所拥有的:

'use strict';

module.exports = {
up: function (queryInterface, Sequelize) {
return [
queryInterface.bulkInsert('Users', [
{ username: "user1" },
{ username: "user2" }
])];
},

down: function (queryInterface, Sequelize) {
return queryInterface.dropTable('Users');
}
};

我得到这个错误:

== 20151024144833-create-conjugation: migrating =======
{ [SequelizeUniqueConstraintError: Validation error]
name: 'SequelizeUniqueConstraintError',
message: 'Validation error',
errors: [],
fields: [] }

必须有更简单的方法来做到这一点。我检查了其他 SO 问题,但在当前版本的 sequelize 中语法发生了变化。

更新

好的,我意识到我的错误:我假设 sequelize 会处理时间戳。这解决了问题:

up: function (queryInterface, Sequelize) {
console.log(User);
return [
queryInterface.bulkInsert('Users', [
{ username: "user1", createdAt: Date.now(), updatedAt: Date.now() },
{ username: "user2", createdAt: Date.now(), updatedAt: Date.now() }
])
];
}

但我仍然想知道这是否是为我的数据库播种的正确方法。有没有办法使用 User.create({}) 来做到这一点?

最佳答案

new Date()

mysql也需要,即

  return queryInterface.bulkInsert('users', [
{
"Forename":"A",
"Surname": "User",
"UserType":"1",
"Email":"auser@gmail.com",
"Password":"password",
"LastLogin":0,
"Tokens": JSON.stringify({"tokens":[]}),
"CreatedBy": 999,
"CreatedAt": new Date(),
"UpdatedAt": new Date()
}]);

关于node.js - 如何使用 Sequelize 迁移/种子插入初始数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33323699/

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