运行迁移

一旦迁移定义好,如何运行它们?采用如下的Artisan命令:

php artisan migrate

此命令运行所有"未完成"的迁移(运行每个迁移的up()方法),Laravel会跟踪你运行过哪些迁移,哪些没运行过,每次运行此命令时,它会检测是否运行过所有可用的迁移,如果没有运行过,则会运行所有剩余的迁移。

在此命名空间下,有一些操作可用,首先你可以运行你的迁移和你的seeds(我们将讨论它):

php artisan migrate --seed

你也可以运行如下命令:

migrate:install

跟踪没运行的迁移并且创建数据库表,当你运行的时候它会自动运行,所以你基本可以忽略它

migrate:reset

运行这条命令用于回滚所有的数据库迁移

migrate:refresh

回滚迁移,然后执行所有的可用迁移,它与运行migrate:reset 然后运行migrate一样.

migrate:fresh

丢弃所有表,然后运行迁移,它与refresh相同,但是不运行"down"只删除表,然后继续运行"up"迁移

migrate:rollback

仅回滚上次运行migrate时的迁移,或者使用选项--step=n指定回滚的迁移数。

migrate:status

显示一个表,列出每个迁移,每个迁移旁边都有一个Y或N,显示它是否已经在这个环境中运行

Homestead/Vagrant下的迁移

如果你在本机运行迁移,并且你的.env文件指向Vagrant box内的数据库,你需要通过ssh进入到虚拟机,然后运行迁移.seeds以及其他artisan命令也是如此.

Last updated