rustbasic-core 0.0.32

Core framework logic for RustBasic - A modern web framework for Rust
Documentation
use crate::sql::AnyPool;
use crate::colored::Colorize;

#[crate::async_trait]
pub trait SeederTrait: Send + Sync {
    async fn run<'a>(&'a self, db: &'a crate::sql::AnyPool) -> Result<(), crate::sql::Error>;
}

pub async fn run_seeders(db: &AnyPool, seeders: Vec<Box<dyn SeederTrait + Send + Sync>>) {
    println!("\n{}", "🌱 Menjalankan Seeder Database...".blue().bold());
    
    for seeder in seeders {
        if let Err(e) = seeder.run(db).await {
            println!("{} {}", "❌ Gagal menjalankan seeder:".red(), e);
        }
    }
    
    println!("{}", "✅ Semua seeder selesai diproses!".green().bold());
}