简介
生成应用程序的「数据结构」,就像数据库的版本控制器,在团队开发中更容易修改和共享数据库结构。
创建迁移
使用 artisan 命令 make:migration
来创建迁移:
php artisan make:migration create_users_table
其中:users_table 为生成的数据表名,按需定义
新创建的迁移文件在 database / migrations
文件夹中,以 创建时间开头的文件,用以确认迁移的顺序。
--table
和 --create
用于确定表的名称以及是否在迁移中创建新的数据表,其中 --create
可以填充默认字段。
php artisan make:migration create_users_table --create=users
php artisan make:migration create_users_table --table=users
编写迁移类
迁移类 包含 up
和 down
, up
方法用于新增 数据库的数据表,字段 或 索引; down
方法的功能 应该 与 up
执行相反的操作 ,所以要添加字段,就 操作 up
方法。
字段
在 Schema
门面中可以使用 table
方法来更新已存在的数据表。和 create
方法一样, table
方法接受两个参数:一个是数据表的名字,另一个是 Closure
可以在新增一个数据表中字段的时候接受 Blueprint
对象:
public function up()
{
Schema::create('admin_users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->timestamps();
});
}
常用功能
唯一性 = unique()
常用字段
软删除字段 = $table->softDeletesTz(0);
具体内容查看: 手册 - 数据库迁移
执行迁移
使用 artisan 命令 php artisan migrate
来执行迁移:
php artisan migrate
回滚迁移(后退)
用 rollback
命令回滚到最后一次操作,也就是最后一批的迁移,可能包含多个迁移文件:
php artisan migrate:rollback
加上 step
参数可以指定回滚迁移的数量,如将回滚最后 5 个迁移:
php artisan migrate:rollback --step=5
回滚所有的迁移
使用 migrate:reset
命令将滚回所有的迁移:
php artisan migrate:reset
删除所的数据表和迁移
使用 migrate:fresh
命令将会删除所有数据表关在之后执行 migrate
命令
php artisan migrate:fresh