laravel migrate 指定执行部分 migration

更新日期: 2018-10-09 阅读次数: 695 分类: Laravel

由于我不习惯于使用 laravel migration 来管理数据表变更,所以很多项目都是无法直接执行

php artisan migrate 

否则会报错

SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists

即,这些本该由 migrate 生成的表,已经提前由 SQL 创建了。

所以,我非常需要能够指定运行部分 migration 的方法。例如创建 job queue 相关的两个表。

将需要执行的 migration 文件复制到 new 目录下,然后执行

php artisan migrate --path=database/migrations/new
Migrating: 2018_10_09_133351_create_jobs_table
Migrated:  2018_10_09_133351_create_jobs_table
Migrating: 2018_10_09_133359_create_failed_jobs_table
Migrated:  2018_10_09_133359_create_failed_jobs_table

每次只需要将要执行的 migration 复制到 new 目录下即可。

测试环境

Laravel 5.5

爱评论不评论

近期节日

2018年12月10日 世界人权日
2018年12月12日 西安事变纪念日
2018年12月13日 南京大屠杀
2018年12月20日 澳门回归日
2018年12月21日 国际篮球日
2018年12月22日 冬至
2018年12月24日 平安夜
2018年12月25日 圣诞节
查看更多节日