執行遷移
編寫遷移後,執行它將將操作應用於資料庫。
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
表,除非你完全知道你在做什麼。很容易無意中將資料庫置於破壞狀態,導致遷移失敗。