コード例 #1
0
        public void Run(IOperationExecutor executor)
        {
            if (!_force)
            {
                var result   = executor.GetContextInfo(_context);
                var reporter = _json
                    ? (Action <IDictionary>)ReportJsonDatabaseDiscovered
                    : ReportDatabaseDiscovered;

                reporter.Invoke(result);
                if (result == null)
                {
                    return;
                }
            }

            if (_dryRun)
            {
                return;
            }

            if (!_force)
            {
                Reporter.Output("Are you sure you want to proceed? (y/N)".MaybeColor(s => s.Bold()));
                var readedKey = Console.ReadLine().Trim();
                var confirmed = (readedKey == "y") || (readedKey == "Y");
                if (!confirmed)
                {
                    Reporter.Output("Cancelled");
                    return;
                }
            }

            executor.DropDatabase(_context);
        }