Files
ExpinBot/.svn/pristine/1d/1d81d3862826ef9f5449704e8b9c345e237655da.svn-base
T

54 lines
2.3 KiB
Plaintext

<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\Facades\DB;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('tg_group_users', function (Blueprint $table) {
$table->increments('id'); // 主键 + AUTO_INCREMENT
$table->string('chat_id', 50)->comment('隶属群ID');
$table->string('user_id', 15)->comment('tg的ID');
$table->string('first_name')->nullable();
$table->string('last_name')->nullable();;
$table->string('username')->nullable()->comment('tg的username');
$table->string('status')->comment('用户在群的角色'); // creator, administrator, member, left, kicked
$table->boolean('is_bot')->default(false)->comment('0:真人 1:机器人');
$table->string('language_code')->nullable();
$table->json('raw_data')->nullable();
$table->timestamps();
$table->unique(['chat_id', 'user_id']); // 防止重复记录
// $table->decimal('rate', 10, 2)->default(0)->comment('费率');
// $table->decimal('exchange_rate', 10, 2)->default(0)->comment('汇率');
// $table->integer('end_time')->nullable()->comment('日结束时间');
// $table->integer('operator')->default(0)->comment('操作员 0不是1是');
// $table->integer('competence')->default(0)->comment('0普通权限,1管理员');
// $table->string('inviter', 50)->nullable()->comment('邀请人');
$table->timestamp('created_at')->nullable();
$table->timestamp('updated_at')->nullable();
// 设置字符集与排序规则
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_0900_ai_ci';
});
// 若需要设置表注释(Laravel 原生不支持)
// 可借助 doctrine/dbal 手动添加,或使用迁移后执行 SQL 语句
DB::statement("ALTER TABLE `tg_group_users` COMMENT = '群用户人员'");
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('group_users');
}
};