Laravel 收银员 - 在 "cannot declare class CreateCustomersColumns" 中发布迁移结果

Laravel Cashier - publish migration results in "cannot declare class CreateCustomersColumns"

我有一个全新的 Laravel 安装,并且我已经将 Cashier 添加到我的项目中。

由于我的应用程序上的 Users 模型没有条带连接,而是 Accounts 模型,因此我需要更改它们的迁移以将列添加到 AccountsUsers

文档对 运行 说:

php artisan vendor:publish --tag="cashier-migrations"

这会将两个迁移文件添加到 database/migrations

从那里我可以在迁移文件中将 users 更改为 accounts

当我尝试 运行 php artisan migrate 时,我得到:

Whoops\Exception\ErrorException : Cannot declare class CreateCustomerColumns, because the name is already in use

这个问题只有在我删除迁移文件后才会消失,但是新列会添加到 users

文档指出您可以通过将 Cashier::ignoreMigrations(); 放入 AppServiceProvider

来禁用他们的迁移文件

我没有意识到那是我想做的。我以为 publish 命令只发布了我需要编辑的两个文件,然而,这些是 Cashier 附带的唯一迁移文件。

一定要在register方法中加上Cashier::ignoreMigrations();

并添加use Laravel\Cashier\Cashier;

该文件(以及 class)必须存在两次,可能在您的 database/migrations 目录中,很可能在文件名上有 2 个不同的日期时间前缀。