Merge pull request #11483 from snipe/fixes/migrations_on_restore

Fixes - migrations on restore
This commit is contained in:
snipe 2022-07-11 16:34:06 -07:00 committed by GitHub
commit fc5cf3e291
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 35 additions and 35 deletions

View file

@ -1278,32 +1278,28 @@ class SettingsController extends Controller
// If it's greater than 300, it probably worked // If it's greater than 300, it probably worked
$output = Artisan::output(); $output = Artisan::output();
if (strlen($output) > 300) { /* Run migrations */
$find_user = DB::table('users')->where('first_name', $user->first_name)->where('last_name', $user->last_name)->exists(); \Log::debug('Migrating database...');
Artisan::call('migrate', ['--force' => true]);
$migrate_output = Artisan::output();
\Log::debug($migrate_output);
if (!$find_user){ $find_user = DB::table('users')->where('username', $user->username)->exists();
\Log::warning('Attempting to restore user: ' . $user->first_name . ' ' . $user->last_name); if (!$find_user){
$new_user = $user->replicate(); \Log::warning('Attempting to restore user: ' . $user->username);
$new_user->push(); $new_user = $user->replicate();
} $new_user->push();
\Log::debug('Logging all users out..');
Artisan::call('snipeit:global-logout', ['--force' => true]);
/* run migrations */
\Log::debug('Migrating database...');
Artisan::call('migrate', ['--force' => true]);
$migrate_output = Artisan::output();
\Log::debug($migrate_output);
DB::table('users')->update(['remember_token' => null]);
\Auth::logout();
return redirect()->route('login')->with('success', 'Your system has been restored. Please login again.');
} else { } else {
return redirect()->route('settings.backups.index')->with('error', $output); \Log::debug('User: ' . $user->username .' already exists.');
}
\Log::debug('Logging all users out..');
Artisan::call('snipeit:global-logout', ['--force' => true]);
DB::table('users')->update(['remember_token' => null]);
\Auth::logout();
return redirect()->route('login')->with('success', 'Your system has been restored. Please login again.');
} }
} else { } else {

View file

@ -13,10 +13,12 @@ class AddEulaToCheckoutAcceptance extends Migration
*/ */
public function up() public function up()
{ {
Schema::table('checkout_acceptances', function (Blueprint $table) { if (!Schema::hasColumn('checkout_acceptances', 'stored_eula')) {
$table->text('stored_eula')->nullable()->default(null); Schema::table('checkout_acceptances', function (Blueprint $table) {
$table->string('stored_eula_file')->nullable()->default(null); $table->text('stored_eula')->nullable()->default(null);
}); $table->string('stored_eula_file')->nullable()->default(null);
});
}
} }
/** /**
@ -26,13 +28,15 @@ class AddEulaToCheckoutAcceptance extends Migration
*/ */
public function down() public function down()
{ {
Schema::table('checkout_acceptances', function (Blueprint $table) { if (Schema::hasColumn('checkout_acceptances', 'stored_eula')) {
if (Schema::hasColumn('checkout_acceptances', 'stored_eula')) { Schema::table('checkout_acceptances', function (Blueprint $table) {
$table->dropColumn('stored_eula'); if (Schema::hasColumn('checkout_acceptances', 'stored_eula')) {
} $table->dropColumn('stored_eula');
if (Schema::hasColumn('checkout_acceptances', 'stored_eula_file')) { }
$table->dropColumn('stored_eula_file'); if (Schema::hasColumn('checkout_acceptances', 'stored_eula_file')) {
} $table->dropColumn('stored_eula_file');
}); }
});
}
} }
} }