Php Laravel 5.3:逐步迁移

Php Laravel 5.3:逐步迁移,php,laravel,laravel-5,migration,database-migration,Php,Laravel,Laravel 5,Migration,Database Migration,我想知道是否有可能在Laravel 5.3中逐个迁移迁移 我无法使--step选项正常工作,文档化只提到此选项与回滚或刷新命令一起使用 // this works php artisan migrate:rollback --step=1 // this doesn't work php artisan migrate --step=1 谢谢,祝您度过愉快的一天没有正式的方法逐个运行迁移,因为通常不需要这样做,因为同时添加迁移非常容易,这对laravel来说是一个好处 --step=x仅在回滚

我想知道是否有可能在Laravel 5.3中逐个迁移迁移

我无法使
--step
选项正常工作,文档化只提到此选项与
回滚
刷新
命令一起使用

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

谢谢,祝您度过愉快的一天

没有正式的方法逐个运行迁移,因为通常不需要这样做,因为同时添加迁移非常容易,这对laravel来说是一个好处

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

如果您确实希望一个接一个地运行迁移,那么实现这一点的方法就是每次将它们逐个添加到运行
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
说明:

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

这一步实际上就是要像迁移数据库那样工作吗?我以为这只是为了回滚?@AndyHolmes是对的,您的迁移文件没有为它们指定步骤号。当您运行
migrate
artisan发现任何尚未运行的迁移时,它会将它们作为批处理运行,并在将它们添加到
migrations
db表时分配一个步骤号。对于逐个运行迁移,这是一个很好的建议。。。我在找这样的东西。。。谢谢