laravel5.4数据库迁移
程序员文章站
2022-06-15 20:25:01
...
1、使用migration创建迁移文件
切换目录到laravel项目根目录
执行以下命令:
php artisan make:migration create_manager_table
说明:其中create和table之间是表名,也就是manager
会在database/migrations目录下生成以下文件:
在生成文件中有两个方法:
up方法:
当执行命令php artisan migrate时会运行up方法
作用:生成表结构
down方法:当rollback时会执行down方法
作用:删除表
run方法实例:在里面写入:
Schema::create('manager',function(Blueprint $table){
$table -> increments('mg_id')->comment('主键');//主键
$table -> string('username',64)->comment('名称');//varchar(64)
$table -> char('password',60)->comment('密码');//char(60)密码长度不少于60
$table -> string('mg_role_ids')->nullable()->comment('角色ids');//varchar
$table -> enum('mg_sex',['男','女'])->default('男')->comment('性别');//enum
$table -> char('mg_phone',11)->nullable()->comment('手机号码');//char(11)
$table -> string('mg_email',64)->nullable()->comment('邮箱');//varchar
$table -> text('mg_remark')->nullable()->comment('备注');//text
$table -> timestamps();//默认生成created_at和updated_at
$table -> softDeletes();//软删除,会创建deleted_at
$table -> rememberToken();//是否记住登入状态
$table -> unique('username');//唯一索引
});
在dowm方法中编写代码:
Schema::dropIfExists('manager');
执行命令建表:
php artisan migrate
效果如下:
注意:如果在database/migrations目录下有其他的建表文件,当执行php artisan migrate命令时,会把其目录下的所有文件都执行一遍,所以我们要适当的删除其他的文件,以防报错
schema构建器支持的列类型可查询手册,数据库迁移章节