How to safely uninstall Voyager in Laravel?

落花浮王杯 提交于 2020-05-14 07:22:08

问题


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?


回答1:


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



回答2:


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



来源:https://stackoverflow.com/questions/58124293/how-to-safely-uninstall-voyager-in-laravel

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!