using System.CommandLine; using MycroForge.Core; using MycroForge.Core.Contract; namespace MycroForge.CLI.Commands; public partial class MycroForge { public partial class Db { public class Run : Command, ISubCommandOf { private readonly ProjectContext _context; public Run(ProjectContext context) : base("run", $"Runs 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 = $"DBH_PORT={config.Db.DbhPort} DBU_PORT={config.Db.DbuPort}"; var command = $"{env} docker compose -f {Features.Db.FeatureName}.docker-compose.yml up -d"; await _context.Bash(command); } } } }