Laravel 5.3: 逐步迁移

Laravel 5.3: Migrate step by step

我想知道是否可以在 Laravel 5.3.

中一个一个地迁移 migrations

我无法使 --step 选项正常工作,文档仅提到此选项可与 rollbackrefresh 命令一起使用。

// this works
php artisan migrate:rollback --step=1
// this doesn't work
php artisan migrate --step=1

谢谢,祝你有愉快的一天

没有正式的方法 运行 一个接一个地迁移,因为通常没有必要,因为同时添加它们很容易,这对 laravel 是一个好处。

--step=x 仅在回滚迁移时使用。

如果您确实想 运行 一个一个地迁移,他们实现此目的的方法是每次将它们一个一个地添加到项目 运行ning php artisan migrate

希望对您有所帮助,如果您还有其他需要或不清楚的地方,请评论。

如果您想 运行 一个接一个地迁移,您可以尝试以下操作:

( \
  mkdir migrations-tmp; \
  for i in database/migrations/[0-9]*.php; do \
    echo `basename $i`:; \
    cp -a $i migrations-tmp/ && \
    php artisan migrate --force --path `pwd`/migrations-tmp --pretend -vvvv; \
    rm -f migrations-tmp/*; \
  done \
); \
rm -rf migrations-tmp

说明:

  • 制作一个临时目录
  • 对于每个迁移文件
    • 输出它的名字
    • 复制迁移文件到临时目录
    • 通过指定迁移文件的路径来执行此单个迁移
    • 从临时目录中删除迁移文件
  • 删除临时目录