在 laravel 8 中执行 运行 迁移命令时出错
Getting error while run migrate command in laravel 8
我正在使用 Laravel Cashier
包。
我在下面添加了 AppServiceProvider.php > 引导方法
Cashier::ignoreMigrations();
我创建了自己的迁移,即:create_subscriptions_table 和 create_subscription_items_table
当我 运行 php artisan migrate
命令然后出现以下错误:
Migrating: 2019_05_03_000002_create_subscriptions_table
Illuminate\Database\QueryException
SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'subscriptions' already exists (SQL: create table `subscriptions` (`id` bigint unsigned not null auto_increment primary key, `user_id` bigint unsigned not null, `name` varchar(191) not null, `stripe_id` varchar(191) not null, `stripe_status` varchar(191) not null, `stripe_plan` varchar(191) null, `quantity` int null, `trial_ends_at` timestamp null, `ends_at` timestamp null, `created_at` timestamp null, `updated_at` timestamp null) default character set utf8mb4 collate 'utf8mb4_unicode_ci')
我收到此错误是因为迁移 2019_05_03_000002_create_subscriptions_table
在 vendor 文件夹中。
我想要 运行 我自己的迁移,而不是来自供应商的迁移,所以有解决这个问题的解决方案吗?
我已通过以下步骤解决了问题:
- 首先我运行命令
php artisan vendor:publish --tag="cashier-migrations"
。它将创建一个新的迁移,我已经从新的迁移中删除了 up() 和 down() 方法的代码。
通过这样做,我们可以保持对 Cashier 包的覆盖迁移。
- 运行 命令
php artisan migrate
我正在使用 Laravel Cashier
包。
我在下面添加了 AppServiceProvider.php > 引导方法
Cashier::ignoreMigrations();
我创建了自己的迁移,即:create_subscriptions_table 和 create_subscription_items_table
当我 运行 php artisan migrate
命令然后出现以下错误:
Migrating: 2019_05_03_000002_create_subscriptions_table
Illuminate\Database\QueryException
SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'subscriptions' already exists (SQL: create table `subscriptions` (`id` bigint unsigned not null auto_increment primary key, `user_id` bigint unsigned not null, `name` varchar(191) not null, `stripe_id` varchar(191) not null, `stripe_status` varchar(191) not null, `stripe_plan` varchar(191) null, `quantity` int null, `trial_ends_at` timestamp null, `ends_at` timestamp null, `created_at` timestamp null, `updated_at` timestamp null) default character set utf8mb4 collate 'utf8mb4_unicode_ci')
我收到此错误是因为迁移 2019_05_03_000002_create_subscriptions_table
在 vendor 文件夹中。
我想要 运行 我自己的迁移,而不是来自供应商的迁移,所以有解决这个问题的解决方案吗?
我已通过以下步骤解决了问题:
- 首先我运行命令
php artisan vendor:publish --tag="cashier-migrations"
。它将创建一个新的迁移,我已经从新的迁移中删除了 up() 和 down() 方法的代码。
通过这样做,我们可以保持对 Cashier 包的覆盖迁移。
- 运行 命令
php artisan migrate