前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >laravel数据迁移

laravel数据迁移

作者头像
OwenZhang
发布2021-12-08 12:55:53
1.9K0
发布2021-12-08 12:55:53
举报
文章被收录于专栏:Owen's World

数据迁移

迁移就像是数据库的版本控制, 允许团队简单轻松的编辑并共享应用的数据库表结构,迁移通常和 Laravel 的 数据库结构生成器配合使用,让你轻松地构建数据库结构。如果你曾经试过让同事手动在数据库结构中添加字段,那么数据库迁移可以让你不再需要做这样的事情。

生成迁移

代码语言:javascript
复制
php artisan make:migration create_users_table
复制代码

新的迁移位于database/migrations目录下。每个迁移文件名都包含时间戳,以便让 Laravel 确认迁移的顺序。

--table--create选项可用来指定数据表的名称,或是该迁移被执行时是否将创建的新数据表。这些选项需在预生成迁移文件时填入指定的数据表:

代码语言:javascript
复制
php artisan make:migration create_users_table --create=users

php artisan make:migration add_votes_to_users_table --table=users
复制代码

运行迁移

代码语言:javascript
复制
php artisan migrate
复制代码

在生产环境强制执行迁移

一些迁移操作是具有破坏性的, 这意味着可能会导致数据丢失。 为了防止有人在生产环境中运行这些命令, 系统会在这些命令被运行之前与你进行确认。如果要强制忽略系统的提示运行命令, 则可以使用--force标记:

代码语言:javascript
复制
php artisan migrate --force
复制代码

回滚迁移

若要回滚最后一次迁移, 可以使用rollback命令。 此命令将回滚最后一次“迁移”的操作,其中可能包含多个迁移文件:

代码语言:javascript
复制
php artisan migrate:rollback
复制代码

你可以在rollback命令后面加上step参数,来限制回滚迁移的个数。 例如,以下命令将回滚最近五次迁移:

代码语言:javascript
复制
php artisan migrate:rollback --step=5
复制代码

migrate:reset命令可以回滚应用程序中的所有迁移:

代码语言:javascript
复制
php artisan migrate:reset
复制代码

使用单个命令来执行回滚或迁移

migrate:refresh命令不仅会回滚数据库的所有迁移还会接着运行migrate命令。 这个命令可以高效地重建整个数据库:

代码语言:javascript
复制
php artisan migrate:refresh

// Refresh the database and run all database seeds...

php artisan migrate:refresh --seed
复制代码

使用refresh命令并提供step参数来回滚并再执行最后指定的迁移数。例如, 以下命令将回滚并重新执行最后五次迁移:

代码语言:javascript
复制
php artisan migrate:refresh --step=5
复制代码

删除所有表 & 迁移

代码语言:javascript
复制
php artisan migrate:fresh

php artisan migrate:fresh --seed
复制代码
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年10月26日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据迁移
    • 生成迁移
      • 运行迁移
        • 在生产环境强制执行迁移
          • 回滚迁移
            • 使用单个命令来执行回滚或迁移
              • 删除所有表 & 迁移
              相关产品与服务
              数据库
              云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档