【问题标题】:Laravel Voyager: how to use my migration instead of VoyagerLaravel Voyager:如何使用我的迁移而不是 Voyager
【发布时间】:2017-08-01 01:37:38
【问题描述】:

我尝试将 Laravel Voyager 管理面板设置为现有项目,我已经有表“用户”、“角色”、“权限”、“类别”等。当我使用 php artisan voyager:install 时,出现错误

照亮\数据库\查询异常]
SQLSTATE[42S21]: 列已经存在: 1060 列名重复'avatar' (SQL: alter table users add avatar varchar(191) null after email, add role_id int null after id)

Voyager 尝试运行自己的迁移,这会导致错误,如何告诉 Voyager 使用我的表?

【问题讨论】:

    标签: php laravel admin database-migration


    【解决方案1】:

    当您在 laravel 中安装 voyager 管理面板时,它会附带一些表,例如用户表和权限表,因此既然您在数据库中有这些表,那么为什么它会告诉您列已经存在。

    【讨论】:

      【解决方案2】:

      以下是对我有用的;您的迁移文件应该是最新的。

      我的是关于类别的。安装 voyager 后,我必须对数据库中的数据进行种子反转,这样当我删除数据库时我的数据不会丢失。对于大数据来说,这可能有点挑战.

      这是执行此操作的链接https://github.com/orangehill/iseed 然后我运行php artisan migrate:fresh 这将删除数据库并使用以前的表结构重新创建它,然后执行迁移命令。请注意,表格将是空的。并且 voyager 现在也可以正常工作了。

      然后使用播种器命令再次填充您的表。此处的文档:https://laravel.com/docs/8.x/seeding

      解决此问题的另一种方法可能是重新访问 voyager 源代码并编辑变量;将它们设置为与您在数据库中设置的值不同的值:)

      【讨论】:

        猜你喜欢
        • 2019-07-26
        • 2020-12-12
        • 2020-05-12
        • 2020-10-07
        • 1970-01-01
        • 2020-11-23
        • 2018-10-26
        • 2020-04-29
        • 2021-05-10
        相关资源
        最近更新 更多