微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

node.js – 如何使用后续迁移/种子插入初始数据?

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

'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问题,但在当前版本的续集中语法已经发生变化.

UPDATE

好的,我意识到我的错误:我假设续集将照顾时间戳.这解决了这个问题:

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

但是我仍然想知道这是否是种植我的数据库的正确方式.有没有办法使用User.create({})?

解决方法

可以使用另一种方法sequelize fixtures,您可以使用声明为json文件或其他格式的认数据初始化表.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐