PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.4
Independent Analytics – WordPress Analytics Plugin v2.15.4
2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / vendor / illuminate / database / Console / Migrations / StatusCommand.php
independent-analytics / vendor / illuminate / database / Console / Migrations Last commit date
BaseCommand.php 2 years ago FreshCommand.php 3 weeks ago InstallCommand.php 3 weeks ago MigrateCommand.php 3 weeks ago MigrateMakeCommand.php 3 weeks ago RefreshCommand.php 2 years ago ResetCommand.php 3 weeks ago RollbackCommand.php 2 years ago StatusCommand.php 3 weeks ago TableGuesser.php 2 years ago
StatusCommand.php
103 lines
1 <?php
2
3 namespace IAWPSCOPED\Illuminate\Database\Console\Migrations;
4
5 use IAWPSCOPED\Illuminate\Database\Migrations\Migrator;
6 use IAWPSCOPED\Illuminate\Support\Collection;
7 use IAWPSCOPED\Symfony\Component\Console\Input\InputOption;
8 /** @internal */
9 class StatusCommand extends BaseCommand
10 {
11 /**
12 * The console command name.
13 *
14 * @var string
15 */
16 protected $name = 'migrate:status';
17 /**
18 * The console command description.
19 *
20 * @var string
21 */
22 protected $description = 'Show the status of each migration';
23 /**
24 * The migrator instance.
25 *
26 * @var \Illuminate\Database\Migrations\Migrator
27 */
28 protected $migrator;
29 /**
30 * Create a new migration rollback command instance.
31 *
32 * @param \Illuminate\Database\Migrations\Migrator $migrator
33 * @return void
34 */
35 public function __construct(Migrator $migrator)
36 {
37 parent::__construct();
38 $this->migrator = $migrator;
39 }
40 /**
41 * Execute the console command.
42 *
43 * @return int|null
44 */
45 public function handle()
46 {
47 return $this->migrator->usingConnection($this->option('database'), function () {
48 if (!$this->migrator->repositoryExists()) {
49 $this->components->error('Migration table not found.');
50 return 1;
51 }
52 $ran = $this->migrator->getRepository()->getRan();
53 $batches = $this->migrator->getRepository()->getMigrationBatches();
54 if (\count($migrations = $this->getStatusFor($ran, $batches)) > 0) {
55 $this->newLine();
56 $this->components->twoColumnDetail('<fg=gray>Migration name</>', '<fg=gray>Batch / Status</>');
57 $migrations->when($this->option('pending'), fn($collection) => $collection->filter(function ($migration) {
58 return str($migration[1])->contains('Pending');
59 }))->each(fn($migration) => $this->components->twoColumnDetail($migration[0], $migration[1]));
60 $this->newLine();
61 } else {
62 $this->components->info('No migrations found');
63 }
64 });
65 }
66 /**
67 * Get the status for the given run migrations.
68 *
69 * @param array $ran
70 * @param array $batches
71 * @return \Illuminate\Support\Collection
72 */
73 protected function getStatusFor(array $ran, array $batches)
74 {
75 return Collection::make($this->getAllMigrationFiles())->map(function ($migration) use($ran, $batches) {
76 $migrationName = $this->migrator->getMigrationName($migration);
77 $status = \in_array($migrationName, $ran) ? '<fg=green;options=bold>Ran</>' : '<fg=yellow;options=bold>Pending</>';
78 if (\in_array($migrationName, $ran)) {
79 $status = '[' . $batches[$migrationName] . '] ' . $status;
80 }
81 return [$migrationName, $status];
82 });
83 }
84 /**
85 * Get an array of all of the migration files.
86 *
87 * @return array
88 */
89 protected function getAllMigrationFiles()
90 {
91 return $this->migrator->getMigrationFiles($this->getMigrationPaths());
92 }
93 /**
94 * Get the console command options.
95 *
96 * @return array
97 */
98 protected function getOptions()
99 {
100 return [['database', null, InputOption::VALUE_OPTIONAL, 'The database connection to use'], ['pending', null, InputOption::VALUE_NONE, 'Only list pending migrations'], ['path', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, 'The path(s) to the migrations files to use'], ['realpath', null, InputOption::VALUE_NONE, 'Indicate any provided migration file paths are pre-resolved absolute paths']];
101 }
102 }
103