Laravel 收银员 - 在 "cannot declare class CreateCustomersColumns" 中发布迁移结果
Laravel Cashier - publish migration results in "cannot declare class CreateCustomersColumns"
我有一个全新的 Laravel 安装,并且我已经将 Cashier 添加到我的项目中。
由于我的应用程序上的 Users
模型没有条带连接,而是 Accounts
模型,因此我需要更改它们的迁移以将列添加到 Accounts
共 Users
文档对 运行 说:
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 个不同的日期时间前缀。
我有一个全新的 Laravel 安装,并且我已经将 Cashier 添加到我的项目中。
由于我的应用程序上的 Users
模型没有条带连接,而是 Accounts
模型,因此我需要更改它们的迁移以将列添加到 Accounts
共 Users
文档对 运行 说:
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 个不同的日期时间前缀。