hyperf-chat/migrations/2020_11_04_153626_create_gr...

46 lines
1.7 KiB
PHP

<?php
use Hyperf\Database\Schema\Schema;
use Hyperf\Database\Schema\Blueprint;
use Hyperf\Database\Migrations\Migration;
use Hyperf\DbConnection\Db;
class CreateGroupMemberTable extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('group_member', function (Blueprint $table) {
$table->unsignedInteger('id', true)->comment('群成员ID');
$table->unsignedInteger('group_id')->default(0)->comment('群ID');
$table->unsignedInteger('user_id')->default(0)->comment('用户ID');
$table->tinyInteger('leader')->comment('成员属性[0:普通成员;1:管理员;2:群主;]');
$table->tinyInteger('is_mute')->default(0)->comment('是否禁言[0:否;1:是;]');
$table->tinyInteger('is_quit')->default(0)->comment('是否退群[0:否;1:是;]');
$table->string('user_card', 20)->default('')->comment('群名片');
$table->dateTime('created_at')->nullable()->comment('入群时间');
$table->dateTime('deleted_at')->nullable()->comment('退群时间');
$table->charset = 'utf8';
$table->collation = 'utf8_general_ci';
$table->engine = 'InnoDB';
$table->unique(['group_id', 'user_id'], 'uk_group_id_user_id');
$table->index(['user_id'], 'idx_user_id');
});
$prefix = config('databases.default.prefix');
DB::statement("ALTER TABLE `{$prefix}group_member` comment '聊天群组成员表'");
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('group_member');
}
}