La fonctionnalité de départ de Knex.js ne fournit aucune garantie d'ordre d'exécution. Chaque graine doit être écrite de telle sorte qu'elle puisse être exécutée de manière isolée - c'est-à-dire. votre approche en fichier unique est correcte.
Si vous souhaitez diviser vos fichiers de départ individuels en sous-modules, vous pouvez essayer ce qui suit :
// initial-data.js
var operatingSystems = require('./initial-data/operating-systems.js');
var servers = require('./initial-data/servers.js');
exports.seed = function(knex, Promise) {
return operatingSystems.seed(knex, Promise)
.then(function () {
return servers.seed(knex, Promise);
}).then(function() {
// next ordered migration...
});
}