30 lines
957 B
C#
30 lines
957 B
C#
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<Db>
|
|
{
|
|
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}";
|
|
await _context.Bash($"{env} docker compose -f {Features.Db.FeatureName}.docker-compose.yml up -d");
|
|
}
|
|
}
|
|
}
|
|
} |