如何在 Laravel 中安全卸载 Voyager?

How to safely uninstall Voyager in Laravel?

更新 Laravel 到 5.8 后。* Voyager 完全损坏

面包突然断了,可搜索的是

Undefined variable

Call to a member function getTranslatedAttribute() on null

每次都出现...

我正在考虑彻底卸载 Voyager。

如何卸载它?请问有什么提示吗?

老实说,不要在没有准备的情况下升级现有项目。

  1. 备份您的代码(GIT 很棒)
  2. 备份你的数据库,以防出现问题。
  3. 升级 Drupal 或 WordPress 网站时也重复此操作

要卸载您需要:

composer remove tcg/voyager

同时从您的 routes/web 中删除路线。php

Voyager 在 Laravel 应用程序中纠缠不清,所以简单地做

composer remove tcg/voyager

可能不够

  • composer.json
  • 中删除 larapack hooks 存储库
"repositories": {
        "hooks": {
            "type": "composer",
            "url": "https://larapack.io"
        }
    }

同时删除项目根目录下的 hooks 目录

  • routes/web.php
  • 中删除 voyager 路线
Route::group(['prefix' => 'admin'], function () {
    Voyager::routes();
});
  • 从配置中删除包信息(如果添加)

文件:config/app.php 评论或删除以下行。

/*
 * Package Service Providers...
 */
TCG\Voyager\VoyagerServiceProvider::class,
  • 让用户模型扩展Auth\User而不是航海者的用户

由此

class User extends \TCG\Voyager\Models\User

对此

use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
  • config/voyager.php
  • 中删除航海者配置
  • 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
  • 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
  • 最后删除 public/vendor/tcg 文件夹以删除静态资产