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 / RefreshCommand.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
RefreshCommand.php
114 lines
1 <?php
2
3 namespace IAWPSCOPED\Illuminate\Database\Console\Migrations;
4
5 use IAWPSCOPED\Illuminate\Console\Command;
6 use IAWPSCOPED\Illuminate\Console\ConfirmableTrait;
7 use IAWPSCOPED\Illuminate\Contracts\Events\Dispatcher;
8 use IAWPSCOPED\Illuminate\Database\Events\DatabaseRefreshed;
9 use IAWPSCOPED\Symfony\Component\Console\Input\InputOption;
10 /** @internal */
11 class RefreshCommand extends Command
12 {
13 use ConfirmableTrait;
14 /**
15 * The console command name.
16 *
17 * @var string
18 */
19 protected $name = 'migrate:refresh';
20 /**
21 * The console command description.
22 *
23 * @var string
24 */
25 protected $description = 'Reset and re-run all migrations';
26 /**
27 * Execute the console command.
28 *
29 * @return int
30 */
31 public function handle()
32 {
33 if (!$this->confirmToProceed()) {
34 return 1;
35 }
36 // Next we'll gather some of the options so that we can have the right options
37 // to pass to the commands. This includes options such as which database to
38 // use and the path to use for the migration. Then we'll run the command.
39 $database = $this->input->getOption('database');
40 $path = $this->input->getOption('path');
41 // If the "step" option is specified it means we only want to rollback a small
42 // number of migrations before migrating again. For example, the user might
43 // only rollback and remigrate the latest four migrations instead of all.
44 $step = $this->input->getOption('step') ?: 0;
45 if ($step > 0) {
46 $this->runRollback($database, $path, $step);
47 } else {
48 $this->runReset($database, $path);
49 }
50 // The refresh command is essentially just a brief aggregate of a few other of
51 // the migration commands and just provides a convenient wrapper to execute
52 // them in succession. We'll also see if we need to re-seed the database.
53 $this->call('migrate', \array_filter(['--database' => $database, '--path' => $path, '--realpath' => $this->input->getOption('realpath'), '--force' => \true]));
54 if ($this->laravel->bound(Dispatcher::class)) {
55 $this->laravel[Dispatcher::class]->dispatch(new DatabaseRefreshed());
56 }
57 if ($this->needsSeeding()) {
58 $this->runSeeder($database);
59 }
60 return 0;
61 }
62 /**
63 * Run the rollback command.
64 *
65 * @param string $database
66 * @param string $path
67 * @param int $step
68 * @return void
69 */
70 protected function runRollback($database, $path, $step)
71 {
72 $this->call('migrate:rollback', \array_filter(['--database' => $database, '--path' => $path, '--realpath' => $this->input->getOption('realpath'), '--step' => $step, '--force' => \true]));
73 }
74 /**
75 * Run the reset command.
76 *
77 * @param string $database
78 * @param string $path
79 * @return void
80 */
81 protected function runReset($database, $path)
82 {
83 $this->call('migrate:reset', \array_filter(['--database' => $database, '--path' => $path, '--realpath' => $this->input->getOption('realpath'), '--force' => \true]));
84 }
85 /**
86 * Determine if the developer has requested database seeding.
87 *
88 * @return bool
89 */
90 protected function needsSeeding()
91 {
92 return $this->option('seed') || $this->option('seeder');
93 }
94 /**
95 * Run the database seeder command.
96 *
97 * @param string $database
98 * @return void
99 */
100 protected function runSeeder($database)
101 {
102 $this->call('db:seed', \array_filter(['--database' => $database, '--class' => $this->option('seeder') ?: 'Database\\Seeders\\DatabaseSeeder', '--force' => \true]));
103 }
104 /**
105 * Get the console command options.
106 *
107 * @return array
108 */
109 protected function getOptions()
110 {
111 return [['database', null, InputOption::VALUE_OPTIONAL, 'The database connection to use'], ['force', null, InputOption::VALUE_NONE, 'Force the operation to run when in production'], ['path', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, 'The path(s) to the migrations files to be executed'], ['realpath', null, InputOption::VALUE_NONE, 'Indicate any provided migration file paths are pre-resolved absolute paths'], ['seed', null, InputOption::VALUE_NONE, 'Indicates if the seed task should be re-run'], ['seeder', null, InputOption::VALUE_OPTIONAL, 'The class name of the root seeder'], ['step', null, InputOption::VALUE_OPTIONAL, 'The number of migrations to be reverted & re-run']];
112 }
113 }
114