Commands — دستورات CLI سفارشی

فینچ به شما امکان می‌دهد دستورات CLI سفارشی با CappController بسازید.

ساخت یک Command

import 'package:finch/finch_capp.dart';

class MigrateCommand extends CappController {
  @override
  String get name => 'db:migrate';

  @override
  String get description => 'اجرای migration های پایگاه داده';

  @override
  Future<void> handle() async {
    console.info('در حال اجرای migration...');
    // منطق migration
    console.success('Migration با موفقیت انجام شد');
  }
}

ثبت Commands

Commands را در FinchConfigs ثبت کنید:

FinchConfigs(
  commands: [
    MigrateCommand(),
    SeedCommand(),
    ClearCacheCommand(),
  ],
)

اجرای Commands

dart run bin/finch.dart db:migrate

خروجی با CappConsole

متد توضیح
console.info(msg) پیام اطلاعاتی آبی
console.success(msg) پیام موفقیت سبز
console.warning(msg) پیام هشدار زرد
console.error(msg) پیام خطا قرمز
console.line(msg) خط متن ساده
console.table(headers, rows) جدول رندرشده
console.newLine() خط خالی

خواندن Options

@override
Future<void> handle() async {
  var env = getOption('env', def: 'development');
  var dryRun = getBoolOption('dry-run', def: false);

  if (dryRun) {
    console.warning('حالت dry-run: تغییری اعمال نخواهد شد');
  }

  console.info('محیط: \$env');
}

دستورات داخلی

دستور توضیح
finch serve راه‌اندازی سرور توسعه
finch build بیلد برای production
finch migrate اجرای database migration
finch make:controller ساخت کنترلر جدید
finch make:model ساخت مدل جدید