using System.CommandLine; using MycroForge.Core; using MycroForge.Core.Contract; namespace MycroForge.CLI.Commands; public partial class MycroForge { public partial class Db { public class Stop : Command, ISubCommandOf { private readonly ProjectContext _context; public Stop(ProjectContext context) : base("stop", $"Stops the services defined in {Features.Db.FeatureName}.docker-compose.yml") { _context = context; this.SetHandler(ExecuteAsync); } private async Task ExecuteAsync() { var config = await _context.LoadConfig(); var env = $"DB_PORT={config.Db.DbhPort} PMA_PORT={config.Db.DbuPort}"; await _context.Bash($"{env} docker compose -f {Features.Db.FeatureName}.docker-compose.yml down"); } } } }