Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to safely uninstall Voyager in Laravel?

After update Laravel to 5.8.* Voyager is completely broken

Suddenly BREADS are broken, searchable is

Undefined variable

Call to a member function getTranslatedAttribute() on null

appears every time...

I am thinking about completely uninstall Voyager for good.

How do I uninstall it? Any hints, please?

like image 614
Marcello Pato Avatar asked Nov 29 '22 08:11

Marcello Pato


2 Answers

To be honest never upgrade an existing project without preparation.

  1. Back-up your code (GIT is great)
  2. Back-up your database to reverse, if something gets broken.
  3. Repeat this also when upgrading a Drupal or WordPress website

To uninstall you need:

composer remove tcg/voyager

Also remove the routes from your routes/web.php

like image 26
Bastiaan Dewaele Avatar answered Dec 06 '22 00:12

Bastiaan Dewaele


Voyager entangles itself in the Laravel application so simply doing

composer remove tcg/voyager

may not be enough

  • remove larapack hooks repository from composer.json
"repositories": {
        "hooks": {
            "type": "composer",
            "url": "https://larapack.io"
        }
    }

Also delete the hooks directory on the root of your project

  • remove voyager routes from routes/web.php
Route::group(['prefix' => 'admin'], function () {
    Voyager::routes();
});
  • Remove Package information from config (if added)

File: config/app.php comment or delete following lines.

/*
 * Package Service Providers...
 */
TCG\Voyager\VoyagerServiceProvider::class,
  • Let the user model extends Auth\User instead of Voyager's user

From this

class User extends \TCG\Voyager\Models\User

To this

use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
  • delete voyager config from config/voyager.php
  • remove voyager migrations from database/migrations
2016_01_01_000000_create_pages_table.php
2016_01_01_000000_create_posts_table.php
2016_02_15_204651_create_categories_table.php
2017_04_11_000000_alter_post_nullable_fields_table.php
  • remove database seeders from database/seeds
CategoriesTableSeeder.php
DataRowsTableSeeder.php
DataTypesTableSeeder.php
MenuItemsTableSeeder.php
MenusTableSeeder.php
PagesTableSeeder.php
PermissionRoleTableSeeder.php
PermissionsTableSeeder.php
PostsTableSeeder.php
RolesTableSeeder.php
SettingsTableSeeder.php
TranslationsTableSeeder.php
UsersTableSeeder.php
VoyagerDatabaseSeeder.php
VoyagerDummyDatabaseSeeder.php
  • And finally remove public/vendor/tcg folder to remove static assets
like image 72
Salim Djerbouh Avatar answered Dec 06 '22 00:12

Salim Djerbouh