生成迁移17 Mar 2025 | 4 分钟阅读 在上一节中,我们已经学习了 Laravel 项目中已经可用的迁移。现在,我们将学习如何生成我们自己的迁移。 生成迁移的步骤生成迁移的步骤如下
![]() 上述输出显示迁移表已使用名称“create_posts_table”创建。“--create="posts”是使用名称“posts”创建表的标志。我们遵循与 Laravel 对默认迁移表相同的命名规则。
![]() 上述输出显示名称为“create_posts_table”的迁移表已成功创建。
上面的代码是新生成的类,它包含两个方法,即 up() 方法和 down() 方法。 up() 方法实现了 create() 方法,该方法包含两个参数,即表的名称(帖子)和闭包函数。 闭包函数包含 Blueprint 类,并将其对象 $table 作为参数。 两列由 Laravel 创建; 第一列是自增列,名称为“id”,第二列是时间戳类型。 假设我添加了下面代码中显示的另外两列 现在我们将进行迁移以运行以上代码。 打开 Git bash 窗口以运行 migrate 命令。 ![]() 上面的命令在数据库中创建迁移表。 打开 phpmyadmin 以查看迁移表。 ![]() 上述输出显示迁移已创建,并且还显示了“posts”表。 下面显示了“posts”表的结构 ![]() 使用迁移将列添加到现有表 我想在已经创建的表中添加新列。 我不想移动回已创建该表的文件,删除该表,然后重新创建该表,并重新迁移它。 因此,我将创建一个新的迁移文件,该文件将新列添加到现有表中。 将列添加到现有表的步骤如下
![]()
![]()
上面的代码显示我们正在添加新列,即 is_admin 到 posts 表。
![]()
![]() 在上面的输出中,我们观察到已创建新列,即 is_admin,并且整数的类型是 unsigned。 unsigned 整数表示此列不包含任何负数。
![]()
![]() 上面的输出显示 is_admin 列已从表中删除。
![]()
![]() 上面的输出显示 is_admin 列已添加到 posts 表中,默认值为 0。 下一节Laravel 迁移命令 |
我们请求您订阅我们的新闻通讯以获取最新更新。