我有一個create_users_table頂部和外鍵的角色表,但角色表的位置是在create_users_table的底部。那麼,create_users表會看不到角色表,因爲它尚未創建。見所附圖片:數據庫遷移Laravel 5.2排列表
我需要重新建立一個用戶表,以便它將出現下面的角色表?
我有一個create_users_table頂部和外鍵的角色表,但角色表的位置是在create_users_table的底部。那麼,create_users表會看不到角色表,因爲它尚未創建。見所附圖片:數據庫遷移Laravel 5.2排列表
我需要重新建立一個用戶表,以便它將出現下面的角色表?
如果它只是項目的開始,並且如果您是不使用數據庫遷移版本,但您可以重命名遷移文件名中的日期時間時間戳以重新排列遷移。像這樣的東西會重新安排遷移到所需的順序。看到我將2016_08_13_001252_create_roles_table.php
的年份更改爲2014_08_13_001252_create_roles_table.php
。
2014_08_13_001252_create_roles_table.php
2014_10_12_000000_create_users_table.php
2014_10_12_100000_create_password_resets_table.php
2016_08_08_005720_create_messages_table.php
遷移以文件名的日期時間順序運行。每次運行只運行新的遷移。所以,如果您對文件進行重新命名這樣的更改,則需要刪除數據庫並重新創建,然後運行遷移。
有時這樣做之後,你可能需要在項目 composer dump-autoload
和/或php artisan clear-compiled
運行下面的命令。
如果您正在運行migrations verisoning?
遷移是與數據庫相關的東西,它並不意味着丟棄所有的表格,並且每次需要進行更改時都會重新創建。如果數據庫是活動的,或者如果您已完成主要數據庫設計,則可以使用版本控制。以這種方式進行遷移的目的之一(日期時間順序,並且每次僅遷移新的順序)是隻對所創建的舊遷移進行更改。
我需要重新創建一個用戶表,以便它會出現在 角色表下嗎?
您不能將外鍵添加到尚不存在的表中。如果你想通過遷移來管理你的數據庫,你需要把它們放在正確的順序。
然而,你也可以將其添加爲一個單獨的遷移,讓你有
這樣你不必重新安排現有的遷移,如果你eg需要對數據庫中期項目進行更改。
是的,我認爲這將是過程,但並不確定。謝謝。 – Rbex
謝謝兄弟!你從安裝DBAL中拯救了我。這就是我真正需要的。 – Rbex