mirror of
https://github.com/snipe/snipe-it.git
synced 2024-12-28 23:19:42 -08:00
129 lines
5.5 KiB
PHP
129 lines
5.5 KiB
PHP
<?php
|
|
|
|
namespace App\Console\Commands;
|
|
|
|
use Illuminate\Console\Command;
|
|
use DB;
|
|
|
|
use App\Models\Accessory;
|
|
use App\Models\Asset;
|
|
use App\Models\AssetModel;
|
|
use App\Models\Category;
|
|
use App\Models\Company;
|
|
use App\Models\Component;
|
|
use App\Models\Consumable;
|
|
use App\Models\Depreciation;
|
|
use App\Models\Group;
|
|
use App\Models\License;
|
|
use App\Models\LicenseSeat;
|
|
use App\Models\Location;
|
|
use App\Models\Manufacturer;
|
|
use App\Models\Statuslabel;
|
|
use App\Models\Supplier;
|
|
|
|
class PaveIt extends Command
|
|
{
|
|
/**
|
|
* The name and signature of the console command.
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $signature = 'snipeit:pave
|
|
{--soft : Perform a "Soft" Delete, leaving all migrations, table structure, and the first user in place.}';
|
|
|
|
/**
|
|
* The console command description.
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $description = 'Pave the database to start over. This should ALMOST NEVER BE USED. (It is primarily a quick tool for developers.)';
|
|
|
|
/**
|
|
* Create a new command instance.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
}
|
|
|
|
/**
|
|
* Execute the console command.
|
|
*
|
|
* @return mixed
|
|
*/
|
|
public function handle()
|
|
{
|
|
if ($this->confirm("\n****************************************************\nTHIS WILL DELETE ALL OF THE DATA IN YOUR DATABASE. \nThere is NO undo. This WILL destroy ALL of your data. \n****************************************************\n\nDo you wish to continue? No backsies! [y|N]")) {
|
|
if ($this->option('soft')) {
|
|
Accessory::getQuery()->delete();
|
|
Asset::getQuery()->delete();
|
|
Category::getQuery()->delete();
|
|
Company::getQuery()->delete();
|
|
Component::getQuery()->delete();
|
|
Consumable::getQuery()->delete();
|
|
Depreciation::getQuery()->delete();
|
|
License::getQuery()->delete();
|
|
LicenseSeat::getQuery()->delete();
|
|
Location::getQuery()->delete();
|
|
Manufacturer::getQuery()->delete();
|
|
AssetModel::getQuery()->delete();
|
|
Statuslabel::getQuery()->delete();
|
|
Supplier::getQuery()->delete();
|
|
Group::getQuery()->delete();
|
|
|
|
DB::statement('delete from accessories_users');
|
|
DB::statement('delete from asset_logs');
|
|
DB::statement('delete from asset_maintenances');
|
|
DB::statement('delete from asset_uploads');
|
|
DB::statement('delete from consumables_users');
|
|
DB::statement('delete from custom_field_custom_fieldset');
|
|
DB::statement('delete from custom_fields');
|
|
DB::statement('delete from custom_fieldsets');
|
|
DB::statement('delete from components_assets');
|
|
DB::statement('delete from password_resets');
|
|
DB::statement('delete from requested_assets');
|
|
DB::statement('delete from requests');
|
|
DB::statement('delete from throttle');
|
|
DB::statement('delete from users_groups');
|
|
DB::statement('delete from users WHERE id!=1');
|
|
} else {
|
|
\DB::statement('drop table IF EXISTS accessories_users');
|
|
\DB::statement('drop table IF EXISTS accessories');
|
|
\DB::statement('drop table IF EXISTS asset_logs');
|
|
\DB::statement('drop table IF EXISTS asset_maintenances');
|
|
\DB::statement('drop table IF EXISTS asset_uploads');
|
|
\DB::statement('drop table IF EXISTS assets');
|
|
\DB::statement('drop table IF EXISTS categories');
|
|
\DB::statement('drop table IF EXISTS companies');
|
|
\DB::statement('drop table IF EXISTS consumables_users');
|
|
\DB::statement('drop table IF EXISTS consumables');
|
|
\DB::statement('drop table IF EXISTS custom_field_custom_fieldset');
|
|
\DB::statement('drop table IF EXISTS custom_fields');
|
|
\DB::statement('drop table IF EXISTS custom_fieldsets');
|
|
\DB::statement('drop table IF EXISTS depreciations');
|
|
\DB::statement('drop table IF EXISTS groups');
|
|
\DB::statement('drop table IF EXISTS history');
|
|
\DB::statement('drop table IF EXISTS components');
|
|
\DB::statement('drop table IF EXISTS components_assets');
|
|
\DB::statement('drop table IF EXISTS license_seats');
|
|
\DB::statement('drop table IF EXISTS licenses');
|
|
\DB::statement('drop table IF EXISTS locations');
|
|
\DB::statement('drop table IF EXISTS manufacturers');
|
|
\DB::statement('drop table IF EXISTS models');
|
|
\DB::statement('drop table IF EXISTS migrations');
|
|
\DB::statement('drop table IF EXISTS password_resets');
|
|
\DB::statement('drop table IF EXISTS requested_assets');
|
|
\DB::statement('drop table IF EXISTS requests');
|
|
\DB::statement('drop table IF EXISTS settings');
|
|
\DB::statement('drop table IF EXISTS status_labels');
|
|
\DB::statement('drop table IF EXISTS suppliers');
|
|
\DB::statement('drop table IF EXISTS throttle');
|
|
\DB::statement('drop table IF EXISTS users_groups');
|
|
\DB::statement('drop table IF EXISTS users');
|
|
}
|
|
}
|
|
}
|
|
}
|