string('avatar', 255)->default('')->comment('头像')->after('email'); $table->string('mobile', 20)->default('')->comment('手机号')->after('avatar'); $table->tinyInteger('gender')->default(0)->comment('性别:0=未知,1=男,2=女')->after('mobile'); $table->date('birthday')->nullable()->comment('生日')->after('gender'); $table->decimal('balance', 10, 2)->default(0)->comment('余额')->after('birthday'); $table->tinyInteger('status')->default(1)->comment('状态:0=禁用,1=正常')->after('balance'); $table->timestamp('last_login_at')->nullable()->comment('最后登录时间')->after('status'); $table->string('openid', 64)->default('')->comment('微信OpenID')->after('last_login_at'); $table->string('unionid', 64)->default('')->comment('微信UnionID')->after('openid'); $table->index('mobile'); $table->index('openid'); }); if (! Schema::hasTable('user_addresses')) { Schema::create('user_addresses', function (Blueprint $table) { $table->id(); $table->unsignedInteger('user_id')->comment('用户ID'); $table->string('name', 30)->comment('收货人'); $table->string('mobile', 20)->comment('联系电话'); $table->string('province', 30)->comment('省'); $table->string('city', 30)->comment('市'); $table->string('district', 30)->comment('区'); $table->string('detail', 255)->comment('详细地址'); $table->tinyInteger('is_default')->default(0)->comment('是否默认:0=否,1=是'); $table->timestamps(); $table->index('user_id'); $table->comment('用户收货地址'); }); } } public function down(): void { Schema::table('user', function (Blueprint $table) { $table->dropIndex(['mobile']); $table->dropIndex(['openid']); $table->dropColumn([ 'avatar', 'mobile', 'gender', 'birthday', 'balance', 'status', 'last_login_at', 'openid', 'unionid', ]); }); Schema::dropIfExists('user_addresses'); } };