Вход Регистрация
Файл: system/vendor/illuminate/database/Console/WipeCommand.php
Строк: 101
<?php

namespace IlluminateDatabaseConsole;

use 
IlluminateConsoleCommand;
use 
IlluminateConsoleConfirmableTrait;
use 
SymfonyComponentConsoleInputInputOption;

class 
WipeCommand extends Command
{
    use 
ConfirmableTrait;

    
/**
     * The console command name.
     *
     * @var string
     */
    
protected $name 'db:wipe';

    
/**
     * The console command description.
     *
     * @var string
     */
    
protected $description 'Drop all tables, views, and types';

    
/**
     * Execute the console command.
     *
     * @return int
     */
    
public function handle()
    {
        if (! 
$this->confirmToProceed()) {
            return 
1;
        }

        
$database $this->input->getOption('database');

        if (
$this->option('drop-views')) {
            
$this->dropAllViews($database);

            
$this->info('Dropped all views successfully.');
        }

        
$this->dropAllTables($database);

        
$this->info('Dropped all tables successfully.');

        if (
$this->option('drop-types')) {
            
$this->dropAllTypes($database);

            
$this->info('Dropped all types successfully.');
        }

        return 
0;
    }

    
/**
     * Drop all of the database tables.
     *
     * @param  string  $database
     * @return void
     */
    
protected function dropAllTables($database)
    {
        
$this->laravel['db']->connection($database)
                    ->
getSchemaBuilder()
                    ->
dropAllTables();
    }

    
/**
     * Drop all of the database views.
     *
     * @param  string  $database
     * @return void
     */
    
protected function dropAllViews($database)
    {
        
$this->laravel['db']->connection($database)
                    ->
getSchemaBuilder()
                    ->
dropAllViews();
    }

    
/**
     * Drop all of the database types.
     *
     * @param  string  $database
     * @return void
     */
    
protected function dropAllTypes($database)
    {
        
$this->laravel['db']->connection($database)
                    ->
getSchemaBuilder()
                    ->
dropAllTypes();
    }

    
/**
     * Get the console command options.
     *
     * @return array
     */
    
protected function getOptions()
    {
        return [
            [
'database'nullInputOption::VALUE_OPTIONAL'The database connection to use'],
            [
'drop-views'nullInputOption::VALUE_NONE'Drop all tables and views'],
            [
'drop-types'nullInputOption::VALUE_NONE'Drop all tables and types (Postgres only)'],
            [
'force'nullInputOption::VALUE_NONE'Force the operation to run when in production'],
        ];
    }
}
Онлайн: 0
Реклама