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
$output = Artisan::output();
if (strlen($output) > 300) {
$find_user = DB::table('users')->where('first_name', $user->first_name)->where('last_name', $user->last_name)->exists();
/* Run migrations */
\Log::debug('Migrating database...');
Artisan::call('migrate', ['--force' => true]);
$migrate_output = Artisan::output();
\Log::debug($migrate_output);
if (!$find_user){
\Log::warning('Attempting to restore user: ' . $user->first_name . ' ' . $user->last_name);
$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.');
$find_user = DB::table('users')->where('username', $user->username)->exists();
if (!$find_user){
\Log::warning('Attempting to restore user: ' . $user->username);
$new_user = $user->replicate();
$new_user->push();
} 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 {

View file

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