运行迁移
编写迁移后,运行它将将操作应用于数据库。
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
表,除非你完全知道你在做什么。很容易无意中将数据库置于破坏状态,导致迁移失败。