status method
Implementation
Future<void> status() async {
await _ensureDatabaseExists();
await _ensureMigrationTable();
final ran = await _getRanMigrationsWithDetails();
final ranNames = ran.map((m) => m['name'] as String).toSet();
Khadem.logger.info('\nš Migration Status:');
Khadem.logger.info('--------------------------------------------------');
Khadem.logger.info(
'| Status | Migration Name | Batch |',
);
Khadem.logger.info('--------------------------------------------------');
for (final migration in _migrations) {
final isRan = ranNames.contains(migration.name);
final status = isRan ? 'ā
Ran ' : 'ā Pending';
final batch = isRan
? ran
.firstWhere((m) => m['name'] == migration.name)['batch']
.toString()
: '-';
Khadem.logger.info(
'| $status | ${migration.name.padRight(36)} | ${batch.padRight(5)} |',
);
}
Khadem.logger.info('--------------------------------------------------\n');
}