PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.2.0
Independent Analytics – WordPress Analytics Plugin v2.2.0
2.15.5 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 / DumpCommand.php
independent-analytics / vendor / illuminate / database / Console Last commit date
Factories 2 years ago Migrations 2 years ago Seeds 2 years ago DbCommand.php 2 years ago DumpCommand.php 2 years ago PruneCommand.php 2 years ago WipeCommand.php 2 years ago
DumpCommand.php
72 lines
1 <?php
2
3 namespace IAWP_SCOPED\Illuminate\Database\Console;
4
5 use IAWP_SCOPED\Illuminate\Console\Command;
6 use IAWP_SCOPED\Illuminate\Contracts\Events\Dispatcher;
7 use IAWP_SCOPED\Illuminate\Database\Connection;
8 use IAWP_SCOPED\Illuminate\Database\ConnectionResolverInterface;
9 use IAWP_SCOPED\Illuminate\Database\Events\SchemaDumped;
10 use IAWP_SCOPED\Illuminate\Filesystem\Filesystem;
11 use IAWP_SCOPED\Illuminate\Support\Facades\Config;
12 /** @internal */
13 class DumpCommand extends Command
14 {
15 /**
16 * The console command name.
17 *
18 * @var string
19 */
20 protected $signature = 'schema:dump
21 {--database= : The database connection to use}
22 {--path= : The path where the schema dump file should be stored}
23 {--prune : Delete all existing migration files}';
24 /**
25 * The console command description.
26 *
27 * @var string
28 */
29 protected $description = 'Dump the given database schema';
30 /**
31 * Execute the console command.
32 *
33 * @param \Illuminate\Database\ConnectionResolverInterface $connections
34 * @param \Illuminate\Contracts\Events\Dispatcher $dispatcher
35 * @return int
36 */
37 public function handle(ConnectionResolverInterface $connections, Dispatcher $dispatcher)
38 {
39 $connection = $connections->connection($database = $this->input->getOption('database'));
40 $this->schemaState($connection)->dump($connection, $path = $this->path($connection));
41 $dispatcher->dispatch(new SchemaDumped($connection, $path));
42 $this->info('Database schema dumped successfully.');
43 if ($this->option('prune')) {
44 (new Filesystem())->deleteDirectory(database_path('migrations'), $preserve = \false);
45 $this->info('Migrations pruned successfully.');
46 }
47 }
48 /**
49 * Create a schema state instance for the given connection.
50 *
51 * @param \Illuminate\Database\Connection $connection
52 * @return mixed
53 */
54 protected function schemaState(Connection $connection)
55 {
56 return $connection->getSchemaState()->withMigrationTable($connection->getTablePrefix() . Config::get('database.migrations', 'migrations'))->handleOutputUsing(function ($type, $buffer) {
57 $this->output->write($buffer);
58 });
59 }
60 /**
61 * Get the path that the dump should be written to.
62 *
63 * @param \Illuminate\Database\Connection $connection
64 */
65 protected function path(Connection $connection)
66 {
67 return tap($this->option('path') ?: database_path('schema/' . $connection->getName() . '-schema.dump'), function ($path) {
68 (new Filesystem())->ensureDirectoryExists(\dirname($path));
69 });
70 }
71 }
72