laravel-admin 1.5 升级迁移全指南:表结构、路由与配置变更对照
laravel-admin 1.5 升级迁移全指南表结构、路由与配置变更对照【免费下载链接】laravel-adminBuild a full-featured administrative interface in ten minutes项目地址: https://gitcode.com/gh_mirrors/la/laravel-adminlaravel-admin 1.5 对内置表结构、路由文件与配置文件进行了整体重构并移除了内置图表组件。本文以官方升级注意事项为主线逐项对照 数据库迁移文件、路由模板 与 配置文件 的源码实现为你梳理一份可执行、可验证的升级迁移清单。读完本文你将掌握 1.5 版内置 9 张表的完整结构、新版路由与配置的组织方式以及图表能力被移除后的自定义替代方案。为什么 1.5 建议重装再迁移升级文档给出的核心建议是由于 laravel-admin 1.5 的内置表结构发生修改推荐重新安装 laravel 5.5 与 laravel-admin 1.5再把业务代码迁移过来而不是在旧版本基础上原地升级。从 composer.json 可以印证 1.5 的运行环境基线php: 7.0.0laravel/framework: 5.5也就是说如果你仍在使用 laravel 5.4 或更低版本必须先升级 laravel 框架本身这本身就是一个涉及面很广的工程。同时 1.5 的数据库表、路由注册方式和配置键都发生了结构性变化新旧数据表之间并不保证平滑兼容因此官方给出的路径是新环境全新安装 → 验证基础功能 → 再迁移业务代码与数据。全新安装的流程可参考 docs/en/installation.mdcomposer require encore/laravel-admin 1.5.* php artisan vendor:publish --providerEncore\Admin\AdminServiceProvider php artisan admin:install其中admin:install命令见 src/Console/InstallCommand.php会依次执行migrate建表并在用户表为空时调用db:seed写入初始管理员数据。安装完成后运行php artisan serve访问http://localhost/admin/使用默认账号admin/admin即可登录验证。迁移要点一内置表结构变更1.5 对内置表结构做了修改迁移时必须以新版迁移文件为准。新版建表逻辑全部集中在 database/migrations/2016_01_04_173148_create_admin_tables.php并且所有表名都通过config(admin.database.*)动态读取也就是说表名本身可以在 config/admin.php 中自定义升级时应先确认自己的表名配置与迁移文件一致。迁移文件up()方法一共创建 9 张表各表核心字段如下表默认名用途关键字段admin_users管理员用户id、username(190, unique)、password(60)、name、avatar(nullable)、remember_token(100, nullable)、时间戳admin_roles角色id、name(50, unique)、slug(50, unique)、时间戳admin_permissions权限id、name(50, unique)、slug(50, unique)、http_method(nullable)、http_path(text, nullable)、时间戳admin_menu后台菜单id、parent_id(默认 0)、order(默认 0)、title(50)、icon(50)、uri(nullable)、permission(nullable)、时间戳admin_role_users用户-角色关联role_id、user_id、联合索引[role_id, user_id]、时间戳admin_role_permissions角色-权限关联role_id、permission_id、联合索引、时间戳admin_user_permissions用户-权限关联user_id、permission_id、联合索引、时间戳admin_role_menu角色-菜单关联role_id、menu_id、联合索引、时间戳admin_operation_log操作日志id、user_id(索引)、path、method(10)、ip、input(text)、时间戳与旧版对比迁移时尤其要注意以下几点权限模型的变化admin_permissions表通过http_method如GET、GET,PUT与http_path支持换行分隔多个路径text 类型来定义路由级权限这是 1.5 权限校验check_route_permission的数据基础菜单表新增permission字段用于将菜单项绑定到权限对应配置项menu_bind_permission4 张中间表pivot table统一带有联合索引down()方法会按依赖顺序依次dropIfExists这 9 张表。down()方法的删除顺序也值得迁移参考先删用户、角色、权限、菜单主表再删 4 张中间表与操作日志表避免外键或索引残留。初始数据的对应关系建表之后的数据由 src/Auth/Database/AdminTablesSeeder.php 负责填充迁移时这些种子数据的结构同样发生了变化创建默认用户admin密码admin、角色Administratorslug 为administrator预置 5 条权限*全部权限、dashboard、auth.login、auth.setting、auth.management预置 7 条菜单Dashboard 与 Admin 管理分组下的 Users / Roles / Permission / Menu / Operation log建立角色-权限、角色-菜单的初始关联。如果你在旧版中已有大量 RBAC 数据迁移时建议按新表结构 → 重新填充权限与菜单 → 再导入业务侧自定义数据的顺序执行避免字段缺失导致的数据错位。迁移要点二路由文件结构变更1.5 将后台路由的组织方式改为系统内置路由 用户自定义路由分组两层结构新版模板位于 src/Console/stubs/routes.stub?php use Illuminate\Routing\Router; Admin::routes(); Route::group([ prefix config(admin.route.prefix), namespace config(admin.route.namespace), middleware config(admin.route.middleware), as config(admin.route.prefix) . ., ], function (Router $router) { $router-get(/, HomeControllerindex)-name(home); });与旧版相比新结构包含三个关键变化Admin::routes()注册内置路由登录、登出、用户设置等认证相关路由由这一行统一注册不再需要在业务路由文件中手工编写路由分组参数全部来自配置prefix默认admin、namespace默认App\Admin\Controllers、middleware默认[web, admin]与路由命名前缀as都从 config/admin.php 的route段读取。这意味着修改路由前缀只需调整配置或设置ADMIN_ROUTE_PREFIX环境变量无需改动路由文件业务路由只保留一个最小示例分组内默认只注册GET /指向HomeControllerindex其余业务路由由你在该分组内自行追加。安装时该模板由 src/Console/InstallCommand.php 中的createRoutesFile()方法写入到app/Admin/routes.php并将DummyNamespace占位符替换为配置中的命名空间。迁移业务代码时只需把你旧版中自定义的路由按新分组规则迁移到app/Admin/routes.php即可——注意新路由一律使用Route::group(...)config(admin.route.*)的形式不要再硬编码前缀或中间件。迁移要点三配置文件结构变更1.5 的配置体系集中在 config/admin.php通过vendor:publish发布到项目config/目录迁移时请逐段对照。以下是与旧版差异最大、迁移时必须关注的配置段route 段路由前缀、命名空间与中间件route [ prefix env(ADMIN_ROUTE_PREFIX, admin), namespace App\\Admin\\Controllers, middleware [web, admin], ],prefix支持通过环境变量ADMIN_ROUTE_PREFIX覆盖默认admin置空则从根路径访问middleware中的admin是 laravel-admin 自带的路由中间件位于 src/Middleware负责认证、权限与 Pjax 等逻辑。auth 段认证体系auth [ controller App\Admin\Controllers\AuthController::class, guard admin, guards [ admin [ driver session, provider admin, ], ], providers [ admin [ driver eloquent, model Encore\Admin\Auth\Database\Administrator::class, ], ], remember true, redirect_to auth/login, excepts [ auth/login, auth/logout, ], ],迁移时需注意guard采用独立的admin会话守卫与admin用户提供者Eloquent 驱动模型为Administrator与 Laravel 默认的web守卫相互独立redirect_to与excepts用于控制未授权跳转和免鉴权路由。database 段表名与模型映射database [ connection , users_table admin_users, users_model Encore\Admin\Auth\Database\Administrator::class, roles_table admin_roles, roles_model Encore\Admin\Auth\Database\Role::class, permissions_table admin_permissions, permissions_model Encore\Admin\Auth\Database\Permission::class, menu_table admin_menu, menu_model Encore\Admin\Auth\Database\Menu::class, operation_log_table admin_operation_log, user_permissions_table admin_user_permissions, role_users_table admin_role_users, role_permissions_table admin_role_permissions, role_menu_table admin_role_menu, ],这是与迁移文件一一对应的配置段迁移数据前务必确保这里的表名与迁移创建的表完全一致。connection留空表示使用 Laravel 默认数据库连接。operation_log 段操作日志开关operation_log [ enable true, allowed_methods [GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH], except [ env(ADMIN_ROUTE_PREFIX, admin)./auth/logs*, ], ],enable控制全局开关allowed_methods限定哪些 HTTP 方法记入日志except支持admin/auth/logs*或get:admin/auth/logs两种写法用于排除无需记录的路径。注意默认排除了日志查看页面自身避免日志表被自身查询刷爆。其他迁移相关配置directory后台安装目录默认app_path(Admin)必须在运行admin:install之前修改才生效见 config/admin.php 的注释bootstrap引导文件路径默认app/Admin/bootstrap.php用于引入自定义 JS/CSS 或注册扩展check_route_permission、check_menu_roles是否启用路由权限校验与菜单角色校验upload上传磁盘与图片/文件目录disk admin对应config/filesystem.php中的磁盘skin、layout、show_version、show_environment等界面相关配置可直接沿用旧值。迁移建议把旧项目的自定义配置逐键对照写入新版config/admin.php对已删除或改名的键尤其是图表相关、旧表名相关配置进行清理避免配置残留影响运行。迁移要点四图表组件已移除如何替代1.5 已移除全部内置图表组件旧版中直接依赖图表组件的代码将无法继续使用。官方给出的替代思路是引入第三方图表库 自定义视图完整示例见 docs/en/custom-chart.md核心流程分三步第一步下载图表库并放到 public 目录。以 Chart.js 为例将其放入public/vendor/chartjs目录。第二步在引导文件中引入 JS。编辑app/Admin/bootstrap.phpuse Encore\Admin\Facades\Admin; Admin::js(/vendor/chartjs/dist/Chart.min.js);Admin::js()是 laravel-admin 的静态资源注入接口会让该 JS 在所有后台页面加载。第三步创建图表视图并在控制器中输出。新建resources/views/admin/charts/bar.blade.php放置 Canvas 画布与 Chart.js 初始化脚本然后在控制器中使用Admin::content()将视图渲染到页面内容区public function index() { return Admin::content(function (Content $content) { $content-header(chart); $content-description(.....); $content-body(view(admin.charts.bar)); }); }通过这种引入任意前端图表库 自定义 blade 视图 $content-body()输出的组合可以完全替代旧版内置图表。多图表页面的布局组织方式可进一步参考 docs/en/content-layout.md 中的布局机制。迁移时只需把旧项目中调用内置图表组件的代码替换为上述模式即可。升级迁移核对清单结合以上四点整理一份可直接执行的迁移清单环境准备确认 PHP ≥ 7.0、Laravel ≥ 5.5见 composer.json 依赖声明新建干净的 Laravel 5.5 项目全新安装composer require encore/laravel-admin 1.5.*→php artisan vendor:publish --providerEncore\Admin\AdminServiceProvider→ 修改 config/admin.php 中directory、database等配置 →php artisan admin:install表结构核对对照 database/migrations/2016_01_04_173148_create_admin_tables.php 确认 9 张表与配置表名一致按新结构重建 RBAC 数据参考 src/Auth/Database/AdminTablesSeeder.php路由迁移将旧版自定义路由迁移到app/Admin/routes.php采用 src/Console/stubs/routes.stub 的分组写法参数一律读取config(admin.route.*)配置迁移逐段对照 config/admin.php同步route、auth、database、operation_log等段删除旧版废弃配置键图表替换将依赖内置图表组件的页面改为Chart.js 等第三方库 自定义视图 $content-body()方案详见 docs/en/custom-chart.md验证php artisan serve后访问http://localhost/admin/使用admin/admin登录逐页回归菜单、权限、表单与操作日志功能。按此清单执行即可在保留业务代码的基础上平稳完成从旧版本到 laravel-admin 1.5 的整体迁移。【免费下载链接】laravel-adminBuild a full-featured administrative interface in ten minutes项目地址: https://gitcode.com/gh_mirrors/la/laravel-admin创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

图解原理:搞定十大经典游戏音乐性能瓶颈

图解原理:搞定十大经典游戏音乐性能瓶颈

图解原理:搞定十大经典游戏音乐性能瓶颈 官方文档翻了三遍还是晕?别慌,这毛病太常见了。 直接看图解原理,把十大经典游戏音乐加载慢的根子挖出来。 咱们不整虚的,直接上代码对比,看怎么把帧率从 30 拉回 60。…

2026/9/23 19:36:44 阅读更多 →
loop-sandbox 实战:用临时 git worktree 为 AI Agent 提供可审查的隔离执行环境

loop-sandbox 实战:用临时 git worktree 为 AI Agent 提供可审查的隔离执行环境

人工智能AI AgentAgent 工作流CLI研发协作AI 技能MCP 服务 【免费下载链接】loop-engineering Practical patterns, starters & CLI tools for loop engineering with AI coding agents. Design systems that prompt and orchestrate agents (inspired by Addy Osmani and …

2026/9/23 19:36:44 阅读更多 →
Terminal.Gui.Editor 渲染管线全解析:从 VisualLineBuilder 到 CellVisualLine 的单元格网格渲染架构

Terminal.Gui.Editor 渲染管线全解析:从 VisualLineBuilder 到 CellVisualLine 的单元格网格渲染架构

UI组件跨平台桌面应用 【免费下载链接】Terminal.Gui Cross Platform Terminal UI toolkit for .NET 项目地址: https://gitcode.com/gh_mirrors/te/Terminal.Gui 点击查看 免费下载 本文深入剖析 Terminal.Gui 生态中可复用文本编辑器 Terminal.Gui.Editor 的渲染…

2026/9/23 19:36:44 阅读更多 →

最新新闻

5种型腔工艺图解原理,告别API变更焦虑

5种型腔工艺图解原理,告别API变更焦虑

5种型腔工艺图解原理,告别API变更焦虑 版本升级后 API 全变了,代码报错红一片,这是无数开发者深夜崩溃的常态。别再死磕文档了,直接看 图解原理 ,把底层逻辑吃透。 型腔(Cavity)在编程语境下,常被误读为单纯的物理空腔,实则它是…

2026/9/23 20:22:38 阅读更多 →
3步吃透啤酒瓶算法:源码解析助你面试不再卡壳

3步吃透啤酒瓶算法:源码解析助你面试不再卡壳

3步吃透啤酒瓶算法:源码解析助你面试不再卡壳 上周陪一个转行做后端的朋友面试,面试官扔出一个“啤酒瓶”相关的场景题,问他如何高效处理瓶身回收逻辑。他愣在当场,支支吾吾半天,最后只能干巴巴地说出“循环遍历”,直接挂掉。…

2026/9/23 20:22:38 阅读更多 →
3步搞定微信群头像怎么改,手写实现防卡顿方案

3步搞定微信群头像怎么改,手写实现防卡顿方案

3步搞定微信群头像怎么改,手写实现防卡顿方案 配置环境就卡半天,这大概是很多开发者在接手旧项目或新搭前端时最崩溃的瞬间。明明只是想要一个动态更新的微信群头像怎么改的功能,结果调试半天,页面要么白屏,要么头像死活不刷新,控制台全是报错。这种时…

2026/9/23 20:22:38 阅读更多 →
3道hjav手写实现题,面试不挂的秘密

3道hjav手写实现题,面试不挂的秘密

3道hjav手写实现题,面试不挂的秘密 刚背完八股文,面试官突然甩来一句“手写实现个hjav”,你脑子瞬间宕机。这不是危言耸听,很多开发同学卡在“懂原理”和“能落地”的鸿沟里。hjav作为Java生态中常被忽视的底层细节,在高性能场景下是必…

2026/9/23 20:22:38 阅读更多 →
3个实战项目拆解价值评估避坑指南

3个实战项目拆解价值评估避坑指南

3个实战项目拆解价值评估避坑指南 配置环境就卡半天,这种痛苦谁懂?很多学员在跑通一个 实战项目 时,往往不是倒在算法上,而是死在了数据清洗和指标计算的一致性上。特别是涉及 价值评估…

2026/9/23 20:22:38 阅读更多 →
华为浏览器下载源码图解原理与实战拆解

华为浏览器下载源码图解原理与实战拆解

华为浏览器下载源码图解原理与实战拆解 学会语法却不知怎么搭项目?这是很多初学者的通病。看着文档里的 download() 方法,心里没底,不知道底层到底发生了什么。今天咱们不聊虚的,直接通过 图解原理…

2026/9/23 20:21:37 阅读更多 →

日新闻

3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A…

2026/9/23 0:00:23 阅读更多 →
2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我

2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我

2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我 刚把开发环境的显示器从1080P换到2K,跑老项目直接报错,版本升级后 API…

2026/9/23 0:01:25 阅读更多 →
3步搞定美眉图实战项目,告别官方文档抓不住重点

3步搞定美眉图实战项目,告别官方文档抓不住重点

3步搞定美眉图实战项目,告别官方文档抓不住重点 官方文档翻了三遍还是云里雾里?别急,美眉图在实战项目中常被用来做数据可视化,但它的原理比你想的简单。今天咱们直接上手,用一个完整的小项目把美眉图跑通,不再死磕那些冗长的理论说明。…

2026/9/23 0:01:25 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/23 4:55:02 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/23 4:49:06 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/23 9:53:41 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/23 9:53:40 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/23 9:53:40 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/23 9:53:40 阅读更多 →