laravel migrate 指定执行部分 migration

更新日期: 2018-10-09 阅读次数: 8614 分类: 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

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式