seed method
Runs each seeder's up() in order, and shows what they changed.
The runs are recorded the same way as seed in metro live, so
seed:rollback <name> undoes them. Throws a LiveException when a
seeder fails, after putting back what it had changed.
Implementation
Future<void> seed(List<Seeder> seeders) async {
final List<SeedRun> runs = await SeedRecorder.upAll(seeders);
for (final SeedRun run in runs) {
run.log.forEach(writeOutput);
if (run.failed) {
throw LiveException('${run.name} failed: ${run.error}');
}
writeOutput({
'level': 'success',
'message': 'Seeded ${run.name} in ${run.ms}ms',
});
}
}