id(); $table->string('username', 200)->unique()->comment('用户名'); $table->string('real_name', 30)->nullable()->comment('真实姓名'); $table->string('password', 100)->comment('密码'); $table->char('salt', 6)->default('')->comment('随机串'); $table->unsignedInteger('role')->default(0)->comment('所属角色; 2:学生 3:家长'); $table->unsignedInteger('grade_id')->default(0)->comment('年级id'); $table->unsignedInteger('parent_id')->default(0)->comment('家长ID'); $table->string('email', 200)->nullable()->comment('电子邮件'); $table->string('phone_number', 11)->nullable()->comment('手机码'); $table->string('title', 200)->default('')->comment('头衔'); $table->string('avatar', 200)->default('')->comment('头像URL'); $table->dateTime('reg_time')->nullable()->comment('注册时间'); $table->string('reg_ip', 20)->nullable()->comment('注册IP'); $table->unsignedInteger('status')->default(1)->comment('用户状态:0禁用1正常2欠费3未激活'); $table->unsignedInteger('vip_level')->default(0)->comment('常规VIP等级'); $table->unsignedTinyInteger('sex')->default(0)->comment('性别;1是男;2是女;0是不填'); $table->string('qq', 20)->nullable()->comment('QQ号'); $table->string('examing_number', 50)->nullable()->comment('考号'); // 创建索引 $table->index('email'); $table->index('role'); $table->index('parent_id'); $table->index('status'); $table->index('vip_level'); $table->index('phone_number'); $table->index('grade_id'); $table->index('sex'); $table->index('real_name'); $table->index('examing_number'); $table->index(['role', 'status', 'id'], 'idx_user_role_status_id'); }); } /** * Reverse the migrations. */ public function down(): void { Schema::dropIfExists('student'); } };