运行迁移

编写迁移后,运行它将将操作应用于数据库。

php artisan migrate

如果一切顺利,你将看到类似于以下的输出:

Migrated: 2016_07_21_134310_add_last_logged_in_to_users_table

Laravel 非常聪明,可以知道你何时在生产环境中运行迁移。如果它检测到你正在执行破坏性迁移(例如,从表中删除列的迁移),则 php artisan migrate 命令将要求你进行确认。在连续交付环境中,这可能不是必需的。在这种情况下,使用 --force 标志跳过确认:

php artisan migrate --force

如果你只是运行迁移,你可能会对数据库中存在 migrations 表感到困惑。此表是 Laravel 用于跟踪已运行的迁移的表。发出 migrate 命令时,Laravel 将确定尚未运行的迁移,然后按时间顺序执行它们,然后更新 migrations 表以适应。

你绝不应该手动编辑 migrations 表,除非你完全知道你在做什么。很容易无意中将数据库置于破坏状态,导致迁移失败。