Wie füge ich Anfangsdaten mit Sequelize Migrationen / Seeds hinzu?

Ich versuche, meine erste migration zum Auffüllen der Datenbank testen, aber ich kann Sie nicht arbeiten. Dies ist, was ich in meinem migration:

'use strict';

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

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

Und ich bekomme diese Fehlermeldung:

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

Muss es ein einfacher Weg, dies zu tun. Ich habe andere Fragen, aber die syntax hat sich geändert in der aktuellen version von sequelize.

UPDATE

Ok, erkannte ich meinen Fehler: ich war der Annahme, dass sequelize würde kümmern uns um den Zeitstempel. Dies behebt das problem:

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() }
    ])
  ];
}

Aber ich bin immer noch Fragen, ob dies der richtige Weg, um Samen meiner Datenbank. Gibt es einen Weg, es zu tun mit User.create({})?

InformationsquelleAutor der Frage nachocab | 2015-10-24

Schreibe einen Kommentar