/ / Tworzenie statycznych wartości w modelu Sequelize (brak doświadczenia z migracją) - node.js, model, sequelize.js

Tworzenie statycznych wartości w modelu Sequelize (brak doświadczenia z migracją) - node.js, model, sequelize.js

Pracuję nad projektem grupowym, który testuje naszeużycie Sequelize vs. normalne generowane przez ORM elementy zaplecza. Dwa z naszych modeli w MySQL DB to tabele kategorii. Nie będą one tworzone dynamicznie, aktualizowane ani niszczone, ale muszą być tam, gdy program jest uruchomiony. Klasa, której jestem częścią, nie obejmowała przypadków ani migracji. Oto jak dotąd model.

module.exports = function(sequelize, DataTypes){
var maincategories = sequelize.define("maincategories", {
maincategories_id: {
//make primary key
type: DataTypes.INTEGER,
allowNull: false,
primaryKey: true,
autoIncrement:true
},
maincategories_name: {
type: DataTypes.STRING,
allowNull: false
}
},
{
classMethods: {
associate: function(models){
maincategories.hasMany(models.posts),
maincategories.hasMany(models.subcategories)
}
}
});

// maincategories.create({ maincategories_name: "For Sale"}).then(function(insertedCategory){
//  console.log(insertedCategory.dataValues);
// });
maincategories.create({ maincategories_name: "Housing"})
maincategories.create({ maincategories_name: "Personals"});

return maincategories;
// maincategories.hasMany(posts);
// maincategories.hasMany(subcategories);
};

Jak mogę uzyskać tabelę kategorii, aby je miećwartości dodane do niego w momencie lub przed uruchomieniem aplikacji node.js? Ponadto, czy kod znajduje się w modelu, trasie API lub osobnym pliku, który jest wymagany w innym miejscu? Jak widać próbowałem robić trwałe instancje, ale te nie działały. Stwierdziłbym, że utworzyłem te elementy w węźle CLI, ale nic nie pokazywałem w rzeczywistej bazie danych.

Dziękuję Ci.

Odpowiedzi:

0 dla odpowiedzi № 1

Potrzebujesz maincategories.sync (), aby sequelize mógł zsynchronizować zdefiniowane modele z bazą danych.

http://docs.sequelizejs.com/en/v3/api/sequelize/#syncoptions-promise