我有一个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