first commit

This commit is contained in:
2026-01-18 09:52:48 +08:00
commit 836bdc9409
584 changed files with 40891 additions and 0 deletions

View File

@@ -0,0 +1,57 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('jobs', function (Blueprint $table) {
$table->id();
$table->string('queue')->index();
$table->longText('payload');
$table->unsignedTinyInteger('attempts');
$table->unsignedInteger('reserved_at')->nullable();
$table->unsignedInteger('available_at');
$table->unsignedInteger('created_at');
});
Schema::create('job_batches', function (Blueprint $table) {
$table->string('id')->primary();
$table->string('name');
$table->integer('total_jobs');
$table->integer('pending_jobs');
$table->integer('failed_jobs');
$table->longText('failed_job_ids');
$table->mediumText('options')->nullable();
$table->integer('cancelled_at')->nullable();
$table->integer('created_at');
$table->integer('finished_at')->nullable();
});
Schema::create('failed_jobs', function (Blueprint $table) {
$table->id();
$table->string('uuid')->unique();
$table->text('connection');
$table->text('queue');
$table->longText('payload');
$table->longText('exception');
$table->timestamp('failed_at')->useCurrent();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('jobs');
Schema::dropIfExists('job_batches');
Schema::dropIfExists('failed_jobs');
}
};

View File

@@ -0,0 +1,132 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void {
Schema::create('auth_admins', function (Blueprint $table) {
$table->id('uid')->unique()->comment('用户ID');
$table->string('username')->unique()->comment('用户名');
$table->string('nickname')->nullable()->comment('昵称');
$table->string('email')->nullable()->comment('邮箱');
$table->string('mobile')->nullable()->comment('手机号码');
$table->string('password')->comment('密码');
$table->string('avatar')->nullable()->comment('头像');
$table->unsignedBigInteger('department_id')->nullable()->comment('部门id');
$table->unsignedTinyInteger('gender')->default(1)->comment('性别 1男 2女');
$table->text('remark')->nullable()->comment('备注,个性签名');
$table->unsignedTinyInteger('status')->default(1)->comment('状态 1正常 2禁用');
$table->string('last_login_ip')->nullable()->comment('最后登录ip');
$table->timestamp('last_login_at')->nullable()->comment('最后登录时间');
$table->timestamp('email_verified_at')->nullable()->comment('邮箱验证时间');
$table->timestamp('mobile_verified_at')->nullable()->comment('手机验证时间');
$table->timestamp('created_at')->nullable()->comment('创建时间');
$table->timestamp('updated_at')->nullable()->comment('更新时间');
$table->timestamp('deleted_at')->nullable()->comment('删除时间');
$table->engine = 'InnoDB';
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
$table->comment('后台管理员表');
});
Schema::create('auth_admins_roles', function (Blueprint $table) {
$table->unsignedBigInteger('role_id')->comment('角色id');
$table->unsignedBigInteger('uid')->comment('用户id');
$table->primary(['role_id', 'uid']);
$table->engine = 'InnoDB';
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
$table->comment('后台管理员角色对应表');
});
Schema::create('auth_roles', function (Blueprint $table) {
$table->id()->uniqid()->comment('主键id');
$table->string('title', 50)->comment('角色名称');
$table->string('name', 50)->comment('角色标识');
$table->string('data_range')->default('all')->comment('数据范围 all全部 department本部门 department_sub本部门及以下 self仅自己');
$table->integer('sort')->default(0)->comment('排序');
$table->unsignedTinyInteger('status')->default(1)->comment('状态 1正常 2禁用');
$table->string('description', 255)->nullable()->comment('角色描述');
$table->timestamp('created_at')->nullable()->comment('创建时间');
$table->timestamp('updated_at')->nullable()->comment('更新时间');
$table->timestamp('deleted_at')->nullable()->comment('删除时间');
$table->engine = 'InnoDB';
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
$table->comment('后台管理员角色表');
});
Schema::create('auth_roles_permissions', function (Blueprint $table) {
$table->bigInteger('role_id')->unsigned()->comment('角色ID');
$table->bigInteger('permission_id')->unsigned()->comment('权限ID');
$table->primary(['role_id', 'permission_id']);
$table->engine = 'InnoDB';
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
$table->comment('后台管理员角色权限表');
});
Schema::create('auth_permissions', function (Blueprint $table) {
$table->id()->uniqid()->comment('主键id');
$table->integer('parent_id')->default(0)->comment('父级id');
$table->string('title', 50)->comment('权限标题');
$table->string('name', 50)->comment('权限名称');
$table->string('icon', 50)->nullable()->comment('图标');
$table->string('path', 100)->nullable()->comment('权限链接');
$table->string('redirect', 100)->nullable()->comment('重定向');
$table->string('component', 200)->nullable()->comment('组件');
$table->string('type', 20)->default('menu')->comment('类型 menu菜单 button按钮 link外链 iframeIframe');
$table->string('color', 20)->nullable()->comment('颜色');
$table->tinyInteger('hidden')->default(0)->comment('是否显示 1显示 2不显示');
$table->tinyInteger('hiddenBreadcrumb')->default(0)->comment('是否显示面包屑 1显示 2不显示');
$table->tinyInteger('affix')->default(0)->comment('是否固定 1固定 2不固定');
$table->tinyInteger('fullpage')->default(0)->comment('是否全屏 1全屏 2不全屏');
$table->text('apiList')->nullable()->comment('接口列表');
$table->integer('sort')->default(0)->comment('排序');
$table->tinyInteger('status')->default(1)->comment('状态 1正常 2禁用');
$table->timestamp('created_at')->nullable()->comment('创建时间');
$table->timestamp('updated_at')->nullable()->comment('更新时间');
$table->timestamp('deleted_at')->nullable()->comment('删除时间');
$table->engine = 'InnoDB';
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
$table->comment('权限表');
});
Schema::create('auth_departments', function (Blueprint $table) {
$table->id()->uniqid()->comment('主键id');
$table->string('parent_id')->default(0)->comment('父级id');
$table->string('title')->comment('部门名称');
$table->string('name')->comment('部门标识');
$table->string('sort')->default(0)->comment('排序');
$table->tinyInteger('status')->default(1)->comment('状态 1正常 2禁用');
$table->string('description', 255)->nullable()->comment('部门描述');
$table->timestamp('created_at')->nullable()->comment('创建时间');
$table->timestamp('updated_at')->nullable()->comment('更新时间');
$table->timestamp('deleted_at')->nullable()->comment('删除时间');
$table->engine = 'InnoDB';
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
$table->comment('部门表');
});
}
/**
* Reverse the migrations.
*/
public function down(): void {
Schema::dropIfExists('auth_admins');
Schema::dropIfExists('auth_admins_roles');
Schema::dropIfExists('auth_roles');
Schema::dropIfExists('auth_roles_permissions');
Schema::dropIfExists('auth_permissions');
Schema::dropIfExists('auth_departments');
}
};

View File

@@ -0,0 +1,203 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration {
/**
* Run the migrations.
*/
public function up(): void {
Schema::create('system_logs', function (Blueprint $table) {
$table->id()->uniqid()->comment('主键id');
$table->unsignedBigInteger('user_id')->comment('用户ID');
$table->string('title')->comment('日志标题');
$table->string('name')->comment('日志名称');
$table->string('url')->comment('请求地址');
$table->string('method')->comment('请求方法');
$table->string('client_ip')->nullable()->comment('请求IP');
$table->text('data')->nullable()->comment('请求数据');
$table->text('remark')->nullable()->comment('备注');
$table->text('browser')->nullable()->comment('浏览器');
$table->tinyInteger('status')->default(1)->comment('状态码');
$table->timestamp('created_at')->nullable()->comment('创建时间');
$table->timestamp('updated_at')->nullable()->comment('更新时间');
$table->engine = 'InnoDB';
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
$table->comment('系统日志表');
});
Schema::create('system_configs', function (Blueprint $table) {
$table->id()->uniqid()->comment('主键id');
$table->string('title')->comment('配置标题');
$table->string('name')->comment('配置名称');
$table->string('values')->nullable()->comment('配置值');
$table->string('type')->comment('配置类型');
$table->string('group')->comment('配置分组');
$table->jsonb('option')->nullable()->comment('配置选项');
$table->string('remark')->nullable()->comment('配置备注');
$table->string('sort')->default(0)->comment('排序');
$table->tinyInteger('status')->default(1)->comment('状态');
$table->timestamp('created_at')->nullable()->comment('创建时间');
$table->timestamp('updated_at')->nullable()->comment('更新时间');
$table->engine = 'InnoDB';
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
$table->comment('系统配置表');
});
Schema::create('system_dicts', function (Blueprint $table) {
$table->id()->uniqid()->comment('主键id');
$table->string('title')->comment('字典标题');
$table->string('values')->comment('字典值');
$table->string('group_id')->comment('字典分组');
$table->string('group_name')->comment('字典分组标识');
$table->string('sort')->default(0)->comment('排序');
$table->tinyInteger('status')->default(1)->comment('状态');
$table->timestamp('created_at')->nullable()->comment('创建时间');
$table->timestamp('updated_at')->nullable()->comment('更新时间');
$table->engine = 'InnoDB';
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
$table->comment('系统字典表');
});
Schema::create('system_dict_groups', function (Blueprint $table) {
$table->id()->uniqid()->comment('主键id');
$table->string('parent_id')->default(0)->comment('父级id');
$table->string('title')->comment('字典分组标题');
$table->string('name')->comment('字典分组名称');
$table->string('sort')->default(0)->comment('排序');
$table->tinyInteger('status')->default(1)->comment('状态');
$table->timestamp('created_at')->nullable()->comment('创建时间');
$table->timestamp('updated_at')->nullable()->comment('更新时间');
$table->engine = 'InnoDB';
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
$table->comment('系统字典分组表');
});
Schema::create('system_areas', function (Blueprint $table) {
$table->id()->uniqid()->comment('主键id');
$table->string('code')->comment('城市编码');
$table->string('parent_code')->default(0)->comment('父级id');
$table->string('title')->comment('城市名称');
$table->tinyInteger('status')->default(1)->comment('状态');
$table->timestamp('created_at')->nullable()->comment('创建时间');
$table->timestamp('updated_at')->nullable()->comment('更新时间');
$table->engine = 'InnoDB';
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
$table->comment('系统城市数据表');
});
Schema::create('system_messages', function (Blueprint $table) {
$table->id()->uniqid()->comment('主键id');
$table->unsignedBigInteger('send_uid')->comment('发送人uid');
$table->string('receive_uid')->comment('接受人uid');
$table->string('receive_group')->nullable()->comment('接受组');
$table->string('type')->default(1)->comment('消息类型 1系统消息 2用户消息');
$table->string('title')->comment('消息标题');
$table->text('content')->comment('消息内容');
$table->text('params')->nullable()->comment('消息参数');
$table->string('url')->nullable()->comment('消息链接');
$table->string('status')->default(1)->comment('状态 1未读 2已读');
$table->timestamp('created_at')->nullable()->comment('创建时间');
$table->timestamp('updated_at')->nullable()->comment('更新时间');
$table->timestamp('read_at')->nullable()->comment('已读时间');
$table->timestamp('deleted_at')->nullable()->comment('删除时间');
$table->engine = 'InnoDB';
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
$table->comment('系统消息表');
});
Schema::create('system_tasks', function (Blueprint $table) {
$table->id()->uniqid()->comment('主键id');
$table->unsignedBigInteger('user_id')->default(0)->comment('用户id');
$table->string('title')->comment('任务名称');
$table->string('file')->comment('文件路径');
$table->string('type')->default('export')->comment('任务类型 import export');
$table->string('status')->default(1)->comment('状态 1正常 2禁用');
$table->timestamp('created_at')->nullable()->comment('创建时间');
$table->timestamp('updated_at')->nullable()->comment('更新时间');
$table->engine = 'InnoDB';
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
$table->comment('系统excel任务表');
});
Schema::create('system_crontabs', function (Blueprint $table) {
$table->id()->uniqid()->comment('主键id');
$table->string('title')->comment('定时任务标题');
$table->string('command')->comment('定时任务命令');
$table->string('expression')->comment('定时任务表达式');
$table->string('status')->default(1)->comment('状态 1正常 2禁用');
$table->timestamp('created_at')->nullable()->comment('创建时间');
$table->timestamp('updated_at')->nullable()->comment('更新时间');
$table->engine = 'InnoDB';
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
$table->comment('系统定时任务表');
});
Schema::create('system_client', function (Blueprint $table) {
$table->id()->uniqid()->comment('主键id');
$table->string('title')->comment('客户端名称');
$table->string('app_id')->comment('客户端ID');
$table->string('secret')->comment('客户端密钥');
$table->string('redirect')->comment('回调地址');
$table->string('status')->default(1)->comment('状态 1正常 2禁用');
$table->timestamp('created_at')->nullable()->comment('创建时间');
$table->timestamp('updated_at')->nullable()->comment('更新时间');
$table->engine = 'InnoDB';
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
$table->comment('系统客户端表');
});
Schema::create('system_client_menu', function (Blueprint $table) {
$table->id()->uniqid()->comment('主键id');
$table->string('client_id')->comment('客户端ID');
$table->unsignedBigInteger('parent_id')->default(0)->comment('父级id');
$table->string('position')->comment('菜单位置');
$table->string('name')->nullable()->comment('菜单名称标识');
$table->string('title')->comment('菜单标题');
$table->string('url')->comment('菜单链接');
$table->string('cover')->nullable()->comment('菜单图片');
$table->string('icon')->nullable()->comment('菜单图标');
$table->string('sort')->default(0)->comment('排序');
$table->tinyInteger('is_show')->default(1)->comment('是否显示 1显示 2不显示');
$table->tinyInteger('is_blank')->default(1)->comment('是否新窗口打开 1是 2否');
$table->string('status')->default(1)->comment('状态 1正常 2禁用');
$table->timestamp('created_at')->nullable()->comment('创建时间');
$table->timestamp('updated_at')->nullable()->comment('更新时间');
$table->engine = 'InnoDB';
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
$table->comment('系统客户端菜单表');
});
}
/**
* Reverse the migrations.
*/
public function down(): void {
Schema::dropIfExists('system_logs');
Schema::dropIfExists('system_configs');
Schema::dropIfExists('system_dicts');
Schema::dropIfExists('system_dict_groups');
Schema::dropIfExists('system_areas');
Schema::dropIfExists('system_messages');
Schema::dropIfExists('system_tasks');
Schema::dropIfExists('system_crontabs');
Schema::dropIfExists('system_client');
Schema::dropIfExists('system_client_menu');
}
};

View File

@@ -0,0 +1,28 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration {
/**
* Run the migrations.
*/
public function up(): void {
Schema::create('modules', function (Blueprint $table) {
$table->id();
$table->string('title', 50)->nullable()->comment('模块标题');
$table->string('name')->unique()->comment('模块标识');
$table->text('description')->nullable()->comment('模块描述');
$table->boolean('status')->comment('模块状态');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void {
Schema::dropIfExists('modules');
}
};