La funcionalidad inicial de Knex.js no proporciona ninguna garantía de orden de ejecución. Cada semilla debe escribirse de manera que pueda ejecutarse de forma aislada, es decir. su enfoque de archivo único es correcto.
Si desea dividir sus archivos semilla individuales en submódulos, puede intentar lo siguiente:
// 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...
});
}